我正在尋找一種方法來在.pro文件中強制特定版本的QT。更具體地說,我想強制qmake
只使用QT 5.x版本與我的項目,而不是QT 4.x和QT 5.x在.pro文件中強制使用特定版本的QT
有沒有辦法做到這一點? PS:我不是要求停止/停止編譯過程的方法(也就是檢查QT版本,如果低於5.x只是拋出qFatal /等價物)。我正在尋找一種方式來實際選擇所使用的版本,同時與qmake
我正在尋找一種方法來在.pro文件中強制特定版本的QT。更具體地說,我想強制qmake
只使用QT 5.x版本與我的項目,而不是QT 4.x和QT 5.x在.pro文件中強制使用特定版本的QT
有沒有辦法做到這一點? PS:我不是要求停止/停止編譯過程的方法(也就是檢查QT版本,如果低於5.x只是拋出qFatal /等價物)。我正在尋找一種方式來實際選擇所使用的版本,同時與qmake
產生Makefile
我真的懷疑你能做到這一點。 qmake
是框架的一部分,並與庫一起使用。當你說Qt of specific verion
你的意思是隻有庫,但它是不正確的。
要使用特定版本的Qt,您需要運行不同版本的qmake
。如果您正在使用QtCreator - 您應該在項目的選項中選擇它,如果不是的話 - 輸入文件qmake
的絕對路徑。你可以找出Qt qmake
使用哪個版本,你可以輸入qmake --version
。
由於Amartel在他的回答中寫道,你應該指向正確的qmake的版本(在控制檯輸入qmake --version
檢查)
這可能是你的項目已使用了錯誤的qmake可執行文件和一些文件生成即使您發出nmake清潔或清潔,也不會被刪除。
檢查清理後源代碼樹中是否沒有Makefile(這些文件通常會包含要使用的qt版本的路徑,如果不正確重新生成將指向錯誤的Qt版本)。
如果用戶正在運行帶有您不希望他使用的版本的qmake,則可以拋出錯誤。例如:
lessThan(QT_MAJOR_VERSION, 5): error("requires Qt 5")
這就是我的想法,但我正在運行qmake-qt5,而且我還在使用qt4的Makefile! (我會在今天下午進行三重檢查,只是可以肯定的,但這是我昨天測試的最後一件事) – alexandernst 2013-05-06 11:03:34
這很奇怪。試試這個:1.打開項目目錄中的終端。 2.運行'qmake-qt5 --version'確保您使用的是正確版本的Qt。 3.運行'qmake-qt5 && make clean && make' 4.轉到您的應用程序並檢查依賴項(linux中的'ldd'命令)。 – Amartel 2013-05-06 11:13:47
http://pastebin.com/j2m5jLCM這裏有一個日誌,用於運行您詢問的內容。它通過qmake-qt5使用qt4。真奇怪。 – alexandernst 2013-05-06 16:30:11