㈠ linux下 用qt creator 編譯程序 提示錯誤,請高手指導
缺少g++ 安裝C編譯器 如果你是UBUNTU 你就用 #sudo apt-get install g++
㈡ Qt中的編譯錯誤
No rule to make target `../laying_out_widgets.cpp', needed by `debug/laying_out_widgets.o'. Stop.
這個是說你的Makefile文件裡面沒有提供laying_out_widgets.cpp的編譯規則。
不知道你是自己寫的Makefile還是自動生成的Makefile,總之就是這個Makefile有點問題。相應的增加laying_out_widgets.cpp的編譯規則就可以了。
在工程裡面添加laying_out_widgets.cpp文件就可以了 ,會重新自動生成新的Makefile。
㈢ Qt程序的一個編譯錯誤
endl; 去掉,它需要 #include<iostream> using namespace std;
qDebug() 會自動換行
㈣ QT中執行make時錯誤
這種問題解決方法如下:
執行sudo apt-get install libXrender-dev命令,安裝相應的lib文件。
所以最好在編譯Qt原碼前先執行以下命令:
sudo apt-get install libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-dev
sudo apt-get install libglui-dev
安裝相應的lib文件,防止編譯出錯。
再上網搜索一下,發現在Linux下編譯應用程序常常會出現如下錯誤:
/usr/bin/ld:cannot find -lxxx
意思是編譯過程找不到對應庫文件。其中-lxxx表示鏈接庫文件libxxx.so。
一般出現這種錯誤有以下幾種原因:
1.系統缺乏對應的庫文件
2.庫文件版本不對應
3.庫文件鏈接錯誤
4.庫文件路徑設置不正確
對於前2種情況,可以通過下載安裝lib來解決:
sudo apt-get install libxxx-dev(上面編譯Qt的情況大多是這樣)
而對於第3種情況,通過find或者locate命令定位到鏈接文件,查看鏈接文件是否正確的指向了lib文件。如果不是,用 ln -sf */libxxx.so.x */libxxx.so 命令修改。
對於最後一種情況,可以到/etc/ld.so.conf.d目錄下,修改其中任意一份conf文件(也可自建conf),將lib所在的目錄寫進去,然後在終端輸入ldconfig更新緩存。
希望可以幫助你