vs2008 qt4 6 2程式移植

2021-06-02 09:03:04 字數 1285 閱讀 1688

將vs2008+qt4.6.2編譯的程式放到沒安裝過vs2008和qt的xp機器上執行,遇到的問題。

1.vs2008需要一些庫,在xp上沒有這些庫檔案;

安裝vcredist_x86.exe,拷貝安裝過vs2008機器的c:\windows\winsxs目錄等方法,待總結。

2.qt4中文顯示問題;

中文顯示問題的解決:

首先編譯的時候本機中文顯示不了,需要加一段**,設定qt的解碼方法,**如下:

qtextcodec *codec = qtextcodec::codecforname("gb2312");

qtextcodec::setcodecforlocale(codec);

qtextcodec::setcodecforcstrings(codec);

qtextcodec::setcodecfortr(codec);

或者設定編碼方式為gbk,這樣在本機就可以顯示中文了。

如果一直到未安裝過qt的機器上,還需要拷貝gbk或gb2312的庫檔案,這些庫在「c:\qt\4.6.2\plugins\codecs」下,新增一句**如下(新增解碼的庫檔案路徑):

新增這句**之後,將\plugins目錄拷貝到編譯的程式的執行目錄下,這樣程式就能正確載入該字型庫了。

是否正確載入了字型庫的測試**:

qtextcodec *codec = qtextcodec::codecforname("gb2312");

qmessagebox::information( 0, "codec", qstring::number((int)codec) );

qtextcodec::setcodecforlocale(codec);

qtextcodec::setcodecforcstrings(codec);

qtextcodec::setcodecfortr(codec);

如果messagebox彈出 「0」則表示載入字型庫失敗,非0則表示載入字型庫成功。

4.runtime error問題。移植vc6的程式到vs2008,修改了程式的生成目錄和工作目錄,未修改生成資料庫檔案(pdb檔案的路徑)產生錯誤如下:

r6034

1.運用上述方法修改後,仍然不好用,繼續google,發現在鏈結選項中忽略「msvcrt.lib」可以解決。

2.修改編譯選項,將/md或/mdd 改為 /mt或/mtd,這樣就實現了對vc執行時庫的靜態鏈結,在執行時就不再需要vc的dll了。

此問題是vs2008的manifest的問題。參考

1.2.

QT4 6 2與vs2005(vs2008)的整合

微軟的mfc實在是太麻煩了,一直知道qt挺好用的,今天終於試了一下,果真相當方便,只需稍微配置一下就可以使用,也不用以前那麼長時間的編譯了。1 qt庫的獲得 2 系統路徑的配置 3 visual assist是我們常用的vs外掛程式,可以方便我們的編碼過程,但是預設它不會加入qt庫,因此我們需要專門...

只用vs2008寫qt程式

qt是乙個c 的介面庫,其特點就是其原始碼可以跨平台編譯,這樣在寫自己的小工具時可以方便地在windows,mac或linux環境下移植了。在windows下寫c 程式當然選vs,在mac下寫程式當然用xcode,在linux下就完全控制台吧。本人僅僅將其看成是乙個c 的庫,所以不想學習新的的ide...

Qt安裝 搭建VS2008 QT開發環境

源位址 這個必須膜拜原作者,自己搞了好久沒弄好這次終於 一 工欲善其事,必先利其器,廢話不多講。總結起來網上流行的vs2008 qt安裝說明有以下幾個問題需要解釋清楚 二 對於以上的問題,我是按照網上說法大費周折無果,實際新版本的qt安裝起來非常簡單。第一步 安裝vs2008,我這裡安裝的是中文版的...