Linux 下重新编译Windows下生成的Qt工程
原址:https://blog.csdn.net/Fanpei_moukoy/article/details/21613703
以下內(nèi)容親測通過
其實(shí)qt才是真正的跨平臺,java簡直太搞笑了,假跨平臺。
只要在ubuntu下把qt的環(huán)境搭建好了,直接將windows下的工程文件整體考到ubuntu中,然后就像在windows上使用qt creater一樣去使用它,直接編譯、運(yùn)行!出來的界面真美觀!
?
-----------------飄逸的分割線-------------------------------------
1、????把在windows平臺下,用Qt Creator創(chuàng)建好的工程整個(gè)文件夾拷貝到linux系統(tǒng)下(如果是在虛擬機(jī)下安裝的linux,可以用U盤拷貝或者共享文件夾的方式)。
2、????修改文件夾及文件夾下所有文件的訪問權(quán)限。首先,切換到文件夾所在的目錄(我的在/home/exam下),然后再修改訪問權(quán)限,命令如下:
????? chmod -R 777 文件夾
假定我的文件夾叫mainWindow,那么命令為:chmod -R 777 mainWindow
如下圖:
???修改訪問權(quán)限后,可以用命令:ls -l mainwindow 查看修改之后文件的屬性。
3、????打開Qt Creator,如下圖:
點(diǎn)擊“Open Project...”打開拷貝過來的工程mainWindow。如下圖:
打開工程之后,隨便打開一個(gè)工程中的頭文件或者源文件,如果編輯器的頂部出現(xiàn)錯誤提示:
表明文件中含有編輯器無法識別的字符,一般是在Windows平臺下輸入的中文字符,你會發(fā)現(xiàn)文件中的中文字符全部變成了亂碼。此時(shí),編輯器無法修改文件的內(nèi)容。這是因?yàn)閮蓚€(gè)系統(tǒng)使用的默認(rèn)編碼不同造成的。這時(shí),點(diǎn)擊上圖中錯誤提示中的“Select Encoding”按鈕(或者通過選擇菜單“Edit”下的“Select Encoding”按鈕),彈出一個(gè)文本編碼的對話框,如下圖:
選擇“GB2312”,點(diǎn)擊按鈕“Reload with Encoding”根據(jù)編碼重新載入文件,即可顯示文件中的中文字符。
如果彈出的文本編碼對話框中沒有“GB2312”,說明QT Creator 默認(rèn)沒有加載相關(guān)的dll文件(在linux下后綴名為.so),解決方案如下:
??? 第一步:根據(jù)Qt Creator的安裝目錄,打開路徑
“QtSDK\Desktop\Qt\473\gcc\plugins”發(fā)現(xiàn)里面有一個(gè)“codecs”文件夾,其下有四個(gè)文件,如下圖:
紅色框中的是路徑,綠色框中的為四個(gè)編碼庫文件。
??? 第二步:把codecs整個(gè)文件夾拷貝到目錄“QtSDK\QtCreator\bin”下,拷貝之后如下圖:
?
紅色框中的是路徑,綠色框中的為拷貝來的文件夾。
?? 第三步:重新打開Qt Creator,打開一個(gè)文件,選擇“Edit”菜單下的“Select Encoding...”,此時(shí)彈出的文本編碼對話框中就已經(jīng)出現(xiàn)了“GB2312”。
4、編譯程序。
?? 因?yàn)樵趙indows平臺下配置的編譯路徑在linux中無效,所以在進(jìn)行編譯之前,一般要先對工程進(jìn)行配置,如下圖:
?
如圖所示,點(diǎn)擊左邊的“Projects”按鈕,即可彈出項(xiàng)目配置界面,可以在上面的“Edit Build configuration”中選擇Debug或者Release,在下面的“Build directory”中選擇新的編譯路徑。
路徑配置完成之后,就可以對程序進(jìn)行調(diào)試運(yùn)行,如下圖:
紅色框中的是運(yùn)行按鈕,綠色框中的是調(diào)試按鈕,點(diǎn)擊綠色框中的按鈕,開始調(diào)試運(yùn)行。調(diào)試通過,程序正常運(yùn)行,如下圖(我的是一個(gè)文本編輯器程序):
這時(shí)會發(fā)現(xiàn)程序中有亂碼的情況,研究發(fā)現(xiàn)是程序中直接使用的中文字符串沒有顯示出來。
解決方案是在主函數(shù)中加入相應(yīng)的字庫,如下所示:
添加一個(gè)頭文件#include <QtextCodec>,添加了圖中紅框中的兩行代碼,再次編譯運(yùn)行程序,如下:
程序正常運(yùn)行。嵌入式實(shí)驗(yàn)
總結(jié)
以上是生活随笔為你收集整理的Linux 下重新编译Windows下生成的Qt工程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt for Android 开发环境配
- 下一篇: Linux vi编辑器常见命令的使用