導航:首頁 > 源碼編譯 > 命令行能編譯qt編譯不通過

命令行能編譯qt編譯不通過

發布時間:2023-08-22 02:35:21

㈠ 新人求教,急.qt4.8.6無法編譯

認真核對操作步驟:
1、修改環境變數工具推薦:Rapid Environment Editor。
修改前請先備份當前的環境變數。然後:
(1)檢查系統變數path,刪除有關mingw其他版本等信息,以免與後續的mingw32-make沖突。
(2)檢查用戶變數INCLUDE、LIB、PATH、MSDevDir和MSVCDir,刪除有關\Microsoft Visual Studio\VC98的信息,因為它們會與後續的mingw32-make沖突,導致編譯出錯。
2、在電腦上安裝mingw編譯器,假設路徑安裝在C:\Qt\mingw32。將C:\Qt\mingw32\bin添加進環境變數path,打開DOS命令行輸入gcc --version和g++ --version和mingw32-make --version驗證編譯器安裝成功。我用的MinGW版本是V4.8.2,
3、解壓qt-everywhere-opensource-src-4.8.6.zip並進入目錄。例如:D:\qt-everywhere-opensource-src-4.8.6\
4、依次執行以下DOS命令:
(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples
常見的使用選項說明:
-debug-and-release 編譯debug和release版
-opensource 選擇開源協議並確認
-platform win32-g++ 使用mingw編譯
-prefix "D:\Qt4.8.6" 指定編譯結果目錄,如果未指定則默認塵鏈當前
-shared 創建和使用共享Qt庫
-static 創建和使用靜態Qt庫
-nomake demos -nomake examples 不編譯常式
-nomake tests 不編譯tests

-skip qtwebkit 忽略qtwebkit,因為編譯它特別消耗時間

-mp 使用多核優化編譯

(2)mingw32-make
(3)mingw32-make install
5、編譯完成後,把C:\Qt\mingw32\bin\路徑下的三個文件libgcc_s_dw2-1.dll、libstdc++-6.dll和libwinpthread-1.dll拷貝到D:\qt-everywhere-opensource-src-4.8.6\bin\。另外,也請把步驟1備份的環境變數還原。
6、修改Qt安裝路徑
最初編搏悔譯時選擇的路徑是D:\Qt4.8.6\派銀孫。如果想將它復制到其他盤符,並且改名,例如:C:\Qt\4.8.6_MinGW。這樣一來會有問題嗎?是的,會有問題,因為Qt有絕對路徑依賴症。改名後C:\Qt\4.8.6_MinGW\bin\的exe執行程序都會出問題,要麼程序打不開,要麼多國語言發生異常。用記事本打開C:\Qt\4.8.6_MinGW\bin\qmake.exe,查找關鍵字「qt_prfxpath」,可以看到裡面含有原始的安裝路徑。我們不可以手動去修改qmake.exe,真正有效的解決方法是:
在C:\Qt\4.8.6_MinGW\bin\路徑下創建一個qt.conf文件,內容為
[paths]
Prefix = C:/Qt/4.8.6_MinGW

請注意:qt.conf文件必須是ANSI格式,並且Prefix的斜杠風格採取的是linux的,而非Windows,否則會失效。或者使用"Prefix = .. ",如此一來,任意路徑有效。

㈡ 剛裝好qt creator 運行示常式序報錯,在命令行卻可以編譯

根據報錯,缺少庫文件。cannot find -lqtmaindcollect2,請樓主檢查環境變數設置,和所需的庫文件是否添加至工程。

㈢ 命令行編譯qt程序遭遇 No such file or directory

對於一個qt工程,qt-creator運行沒有問題。後面為了提高自動化效率,寫一個腳本通過命令行編譯qt程序,發現編譯報錯,報錯信息如下:

報錯信息直接指明了原因:找不到頭文件,說明要用的庫的頭文件路徑不在 INCLUDE 變數里,所以編譯時就找不到。

除了上面的報錯,可能還會有如下的報錯情況:

那為什麼qt-creator運行沒有問題呢?
因為 qt-creator 獲取了一些環境變數如下:

解決辦法就是自行把需要用到的路徑加到相應的變數里。

如下通過 python 腳本來編譯qt程序,把路徑加到相應的 PATH 、 INCLUDE 、 LIB 環境變數里,這樣編譯的時候就能找到相應的文件

腳本里的路徑添加都是臨時生效,腳本執行完就失效了,所以不用擔心會破壞系統環境變數。

㈣ Qt 編譯不了,怎麼解決啊,'cl' 不是內部或外部命令,也不是可運行的程序 或批處理文件。

沒裝 Visual Studio 自然用不了 cl 編譯器。

㈤ Qt 編程無法編譯,高手來!

把你生成的xxx-build-desktop這個文件夾刪除,重新編譯試試看,如果不行的話就是你的環境變數沒設好,為mingw32設一下環境變數

㈥ linux命令行編譯qt程序時,默認使用的是arm-linux-gcc編譯器,生成的可執行程序無法

修改$QTDIR/mkspecs目錄下的符號鏈接default.將其指向linux-g++
$QTDIR是路徑,具體要看你把QT裝到什麼地方和QT本身的版本,一般是/usr/lib[64]/qt4
修改default符號鏈接的作用是讓qmake在生成Makefile的時候將Makefile文件中的編譯器變數$CC與$CXX賦值成gcc和g++

閱讀全文

與命令行能編譯qt編譯不通過相關的資料

熱點內容
單片機伺服器編譯 瀏覽:768
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:954
在word中壓縮圖片大小 瀏覽:253
javatomcat圖片 瀏覽:417
程序員生產智能創意 瀏覽:65
匯和銀行app怎麼登錄 瀏覽:381
騰訊伺服器如何上傳源碼 瀏覽:745
單片機的原理概述 瀏覽:508
火控pdf 瀏覽:267
如何復制雲伺服器centos環境 瀏覽:984
債權pdf 瀏覽:303
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:702
中國農業銀行app怎麼沒有網 瀏覽:997
幾率表演算法 瀏覽:902
程序員理工科 瀏覽:708
企業郵箱登錄收件伺服器地址 瀏覽:560
計算機思維與演算法設計的重要性 瀏覽:664
linux刷新磁碟命令 瀏覽:78