附上常見的QT問題:
一、鏈接路徑問題
如果在調(diào)用SDK的QT編譯過程中發(fā)現(xiàn)無法鏈接-l**sdk等鏈接錯誤,并出現(xiàn)collect2:ld returned 1 exit status錯誤,那是因為編譯路徑使用的是絕對路徑,應在QT Creator中的Projects中將General的Shadow build的選項去掉。
二、qtcreator如何調(diào)入-lpthread參數(shù)?
方法是:在多線程那個項目的 .pro文件 中添加:LIBS += -lpthread 。
三、 .pro:80: Extra characters after test expressio
Check the .pro file. Sometimes it's because you don't have a blackslash at the end of one of the lines that isn't last:
HEADERS += Qt/mainwindow.h \
Qt/MPrintableWidget.h \
Qt/MPrintableWidgetGroup.h # Oooops forgot the \ here
Qt/MFixedSizeDialog.h \
Qt/MScreenPage.h
Every line here except the bottom one needs to end in a backslash.
四、如何靜態(tài)編譯Qt程序
- 比如現(xiàn)在有一個test.cpp文件
- 生成.pro文件
qmake -project - 修改.pro文件,在里面加上
CONFIG+=static - 生成Makefile文件
qmake - 修改Makefile文件,在CXXflags選項后面加上 -static
- 生成可執(zhí)行二進制文件
make - 好啦,至此,可以看到可執(zhí)行文件test啦,可以用ls -lh查看它的大小,一般的代碼會有十幾兆。
五、Qt環(huán)境設(shè)置
文件從window上傳到Ubuntu后會顯示亂碼,原因是因為ubuntu環(huán)境設(shè)置默認是utf-8,Windows默認都是GBK.
Windows環(huán)境下,Qt Creator,菜單->工具->選項->文本編輯器->行為->文件編碼:
默認編碼:System(簡體中文windows系統(tǒng)默認指的是GBK編碼,即下拉框選項里的GBK/windows-936-2000/CP936/MS936/windows-936)
解決Qt中文亂碼以及漢字編碼的問題(UTF-8/GBK)