日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

WINCE 下配置 QT 的方法

發布時間:2025/3/15 c/c++ 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WINCE 下配置 QT 的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 推薦安裝環境 Windows XP SP3 + VS2005(SP1) 2. 載Qt for WinCE(eg. qt-everywhere-opensource-src-4.8.3.zip) 3.?解壓到C:\Qt\4.8.3WinCE 4. 安裝WinCE的SDK(如RNx,WinCE5.0的) 5. 將C:\Qt\4.8.3WinCE\bin加到環境變量Path中 6. 修改代碼或配置(注1),否則編譯可能會有錯誤,或者后面使用會有問題,不同的版本可能會有不同的錯誤 7. SDK編譯設置 a. 到Qt解壓目錄下的mkspecs下,復制wince50standard-armv4i-msvc2005目錄為wince50RNx-armv4i-msvc2005, 說明一下,win50是SDK是WinCE 5.0版本的,armv4i架構,msvc2005表示用vs2005編譯。mkspecs下后很多已經配好的配置, 可根據自己的情況選最相似的一個 b. 進入wince50RNx-armv4i-msvc2005目錄,更改qmake.conf中CE_SDK= RNx 8. 從開始菜單啟動"Visual Studio 2005 Command Prompt" 9. cd到C:\Qt\4.8.3WinCE目錄 10. 輸入命令:configure -platform win32-msvc2005 -xplatform wince50RNx-armv4i-msvc2005 如果不用webkit,在后面加上-no-webkit,其他的組件類似,具體參看configure -help 11. 回車后開始配置Qt,license選擇o,之后選擇y 幾分鐘后配置成功,在C:\Qt\4.8.3WinCE\bin目錄下,會生成qmake.exe、checksdk.exe等文件 12. 運行checksdk -list,查看已安裝的sdk,可以看到如"RNx (ARMV4I)"的SDK 13. 運行checksdk -sdk "RNx (ARMV4I)" -script "setrnxsdk.bat" -sdk后面是設置需要編輯的sdk(根據自己需要填寫,但必須在上面list的列表里) -script后面的要生成bat的名字,因為我們在C:\Qt\4.8.3WinCE目錄下,運行此命令,這個文件也生成在這個目錄下 上面參數具體說明參見 checksdk -help 14. 運行 setrnxsdk.bat 此文件時第13步自己設置的 15 運行nmake 數小時后,編譯成功 注1: 4.8.2版本webkit的問題

?????? platform\DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant
?????? platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion

這個錯誤的原因是因為代碼里面的非英文的引號造成的。

?????? 原始的錯誤代碼如下:

?????? return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

?????? 注意 <selection> 單詞前后的引號。就是它造成編譯報錯。修改成下面的代碼

?????? return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

?

????? 注2:如nmake出現錯誤,一般重新nmake即可。但如果vs2005安裝有問題,需修復vs2005. 我在編譯過程中就出現了此情況,nmake總是錯誤,修復后就OK了。

?

?

1.操作系統:win7

2.wince上的Qt庫版本:qt-everywhere-opensource-src-4.7.3.zip

3.Wince6.0

4.Vs2005

5.qt在windows下面的sdk:qt-sdk-win-opensource-2010.05.exe或者qt-win-opensource-4.7.3-vs2008.exe

6.Qt在vs上的插件:qt-vs-addin-1.1.9

?

?

首先安裝vs2005及各個補丁:

安裝順序:

1.??????vs2005

2.??????Visual Studio 2005 Service Pack1

3.??????Visual Studio 2005 Service Pack1 Update for Windows Vista

4.??????Visual Studio 2005 Service Pack1 ATL Security Update

?

這一步安裝遇到的問題:

Vs2005我第一次下載的是英文試用版,安裝的時候顯示內存不足的錯誤(明明還有2G空間),于是重新下了個中文版vs2005,安裝成功.相應的補丁也要下中文版的

?

?

安裝wince6.0及補丁:

安裝順序:

1.??????wince6.0

2.??????Windows Embedded CE 6.0Platform Builder Service Pack 1

3.??????Windows Embedded CE 6.0 R2

4.??????Windows Embedded CE 6.0 R3

5.??????安裝sdk,我用的是友善之臂公司提供的Mini6410-CE6-SDK

?

安裝qt for wince庫:qt-everywhere-opensource-src-4.7.3.zip

我第一次下載的是最新版的qt庫: qt-everywhere-opensource-src-4.7.4.zip,然后再nmake的階段總是出現問題:

Creatinglibrary ..\..\lib\QtGuid4.lib and object ..\..\lib\QtGuid4.exp
pngwrite.obj : error LNK2019: unresolved externalsymbol gmtime referenced in function png_convert_from_time_t
..\..\lib\QtGuid4.dll : fatal error LNK1120: 1unresolved externals

在國外論壇上發現一個解決方法:

注釋掉qt源代碼:/src/3rdparty/libpng/pnglibconf.h中的一句話:

#definePNG_CONVERT_tIME_SUPPORTED

然后重新配置configure即可.

因為據說4.7.4還有其他一些問題,所以我干脆下載了4.7.3來使用.

安裝順序:

1.??????解壓qt-everywhere-opensource-src-4.7.4.zip到e:盤下qt_wince文件夾

2.??????增加環境變量e:\qt_wince\bin

3.??????修改E:\qt_wince\mkspecs\wince60standard-armv4i-msvc2005中的qmake.conf文件中的CE_SDK????????????????? = Mini6410-CE6-SDK?? # replace with actual SDK name

4.??????打開vs2005,打開工具->visual studio 2005 command prompt

5.??????輸入命令:configure -platform win32-msvc2005 -xplatformwince60standard-armv4i-msvc2005.這一步是配置qt庫,配置需要幾分鐘,配置成功會在qt_wince/bin下面生成一些列工具.可以用checksdk.exe –list查看當前裝的sdk版本.

6.??????輸入命令: set INCLUDE=E:\Microsoft Visual Studio 8\VC\ce\include;E:\WindowsCE Tools\wce600\Mini6410-CE6-SDK\Include\Armv4i

7.??????輸入命令: set LIB=E:\Microsoft Visual Studio 8\VC\ce\lib\armv4i;E:\WindowsCE Tools\wce600\Mini6410-CE6-SDK\Lib\ARMV4I

8.??????輸入命令: set PATH=E:\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%PATH%

9.??????輸入命令nmake,這一步需要幾個小時(跑了一夜,早上起床編譯成功)

到這一步qt庫以及編譯完畢.

?

安裝qt在windows下面的sdk:qt-sdk-win-opensource-2010.05.exe

安裝好后,qt默認是mingw編譯的,所以需要用nmake重編譯

1.打開vs2005,打開工具->visual studio 2005 command prompt

2.進入指定目錄下:cd E:\Qt\2010.05\qt

3.編譯:configure -debug-and-release -platform win32-msvc2005

4.編譯完成后nmake,大概8個小時后就好了吧(我的筆記本時間)

nmake前注意:

以下是一個網友遇到的,我不幸也遇到了- -!,所以先刪除那4個文件先

原鏈接:http://hi.baidu.com/316194566/blog/item/3452c0dce2650db4cd11668e.html

?

?

在編譯QT代碼時,會遇到一些問題,我遇到了兩個問題。
然后繼續編譯N久之后,又出現了問題。。。


編譯大概1個小時之后,出現:

01.api\qscriptextensionplugin.h(43): Error: Undefined interface??
02.NMAKE : fatal error U1077: 'C:\Qt\2009.05\qt\bin\moc.exe' : return code '0x1'??
03.Stop.???
04.NMAKE : fatal error U1077: '"d:\Program Files\Microsoft Visual Studio 9.0\VC\BIN???
05.\nmake.exe"' : return code '0x2'???
06.Stop.???
07.NMAKE : fatal error U1077: 'cd' : return code '0x2'??
08.Stop.??
api\qscriptextensionplugin.h(43): Error: Undefined interface
NMAKE : fatal error U1077: 'C:\Qt\2009.05\qt\bin\moc.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"d:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

以上是出錯代碼,解決方法是將

qt/src/script/tmp/moc/debug_shared/mocinclude.tmp
qt/src/script/tmp/moc/release_shared/mocinclude.tmp

刪除,然后繼續編譯。

過了很長時間之后,在編譯webkit部分的代碼時,會發生錯誤,系統會停止編譯
D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock
etStreamHandlePrivate.cpp(97) : error C2065: “QSslError”: 未聲明的標識符
D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock
etStreamHandlePrivate.cpp(97) : error C3861: “socketSslErrors”: 找不到標識符
正在生成代碼...
NMAKE : fatal error U1077: “"D:\tools\Microsoft Visual Studio 10.0\VC\BIN\cl.EX
E"”: 返回代碼“0x2”
Stop.
NMAKE : fatal error U1077: “"D:\tools\Microsoft Visual Studio 10.0\VC\BIN\nmake
.exe"”: 返回代碼“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代碼“0x2”
Stop.

解決方法是將

qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\mocinclude.tmp?
qt\src\3rdparty\webkit\WebCore\tmp\moc\release_shared\mocinclude.tmp
刪除之后可以繼續編譯(重新執行nmake命令)

編譯好后,wince上的qt庫就編譯成功了,可以打開qt下demo工程編譯測試.

QT已經有編譯好的VS庫,可以直接安裝qt-win-opensource-4.7.3-vs2008.exe而不必經歷上面這步的過程!!!

?

安裝Qt在vs上的插件:qt-vs-addin-1.1.9

沒什么好說的,安裝好后在vs上出現qt的插件圖標

這個時候啟動Qt->Launch Designer失敗,顯示錯誤:QT in the given path was built using minGW

恩,這個已經是最后一個問題了,解決方法:

原鏈接:http://dangflying.blog.163.com/blog/static/8693721820116298035/

1.修改注冊表:
HKEY_CURRENT_USER\Software\Trolltech\Versions\
下增加一個子項
qt201005(需要的名稱)
子項下面增加一個數值 InstallDir,值就是你要配置的Qt路徑
2.刪除文件
刪除qi的lib目錄下的
libqtmain.a and libqtmaind.a 兩個文件。

?

好了,大功告成,環境配置成功!

接下來可以把qt編譯的程序部署到wince板子上進行測試,

將exe文件拷入想要的目錄,然后拷貝幾個庫文件進去:

QtCore4.dll,QtGui4.dll,QtCored4.dll,QtGuid4.dllmsvcr90d.dll

前兩個release版本,后兩個是debug版本文件.

轉載于:https://www.cnblogs.com/zd_ad/archive/2012/11/06/2756554.html

總結

以上是生活随笔為你收集整理的WINCE 下配置 QT 的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。