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