Qt中根據不同版本號使用不同源碼
qmake是用來為不同的平臺的開發項目創建makefile的Trolltech開發一個易于使用的工具。qmake簡化了makefile的生成,所以為了創建一個makefile只需要一個只有幾行信息的文件。qmake可以供任何一個軟件項目使用,而不用管它是不是用Qt寫的,盡管它包含了為支持Qt開發所擁有的額外的特征。
qmake基于一個項目文件這樣的信息來生成makefile。項目文件可以由開發者生成。項目文件通常很簡單,但是如果需要它是非常完善的。不用修改項目文件,qmake也可以為為Microsoft Visual Studio生成項目。眾所周知,qmake里是不提供
- #if (QT_VERSION >= QT_VERSION_CHECK(4, 5, 0))
- // …
- #endif
這種語法的qmake的語法是
條件{
…執行的動作1…
}else{
…執行的動作2…
}
所以如果要執行根據版本控制的代碼可以用
- greaterThan(QT_MAJOR_VERSION, 4)|equals(QT_MAJOR_VERSION,4){
- greaterThan(QT_MINOR_VERSION, 5)|equals(QT_MINOR_VERSION, 5){
- message("bla,bla,bla ....")
- }
- }else{
- message("pla,pla,pla ....")
- }
不過需要注意的是,greaterThan和equals是在qmake代碼里沒有公布的,詳細需要看qmake的源代碼
- qt/qmake/project.cpp
- if(!qmake_test_functions) {
- qmake_test_functions = new QMap;
- qmake_test_functions->insert("requires", T_REQUIRES);
- qmake_test_functions->insert("greaterThan", T_GREATERTHAN);
- qmake_test_functions->insert("lessThan", T_LESSTHAN);
- qmake_test_functions->insert("equals", T_EQUALS);
小結:在Qt工程文件中根據不同版本號使用不同源碼的內容介紹完了,簡單的介紹了一下,希望對你有幫助吧。