WINCE 下配置 QT 的方法
?????? platform\DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant
?????? platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion
這個錯誤的原因是因?yàn)榇a里面的非英文的引號造成的。
?????? 原始的錯誤代碼如下:
?????? 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出現(xiàn)錯誤,一般重新nmake即可。但如果vs2005安裝有問題,需修復(fù)vs2005. 我在編譯過程中就出現(xiàn)了此情況,nmake總是錯誤,修復(fù)后就OK了。
?
?
1.操作系統(tǒng):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及各個補(bǔ)丁:
安裝順序:
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我第一次下載的是英文試用版,安裝的時候顯示內(nèi)存不足的錯誤(明明還有2G空間),于是重新下了個中文版vs2005,安裝成功.相應(yīng)的補(bǔ)丁也要下中文版的
?
?
安裝wince6.0及補(bǔ)丁:
安裝順序:
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的階段總是出現(xiàn)問題:
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
在國外論壇上發(fā)現(xiàn)一個解決方法:
注釋掉qt源代碼:/src/3rdparty/libpng/pnglibconf.h中的一句話:
#definePNG_CONVERT_tIME_SUPPORTED
然后重新配置configure即可.
因?yàn)閾?jù)說4.7.4還有其他一些問題,所以我干脆下載了4.7.3來使用.
安裝順序:
1.??????解壓qt-everywhere-opensource-src-4.7.4.zip到e:盤下qt_wince文件夾
2.??????增加環(huán)境變量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查看當(dāng)前裝的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默認(rèn)是mingw編譯的,所以需要用nmake重編譯
1.打開vs2005,打開工具->visual studio 2005 command prompt
2.進(jìn)入指定目錄下:cd E:\Qt\2010.05\qt
3.編譯:configure -debug-and-release -platform win32-msvc2005
4.編譯完成后nmake,大概8個小時后就好了吧(我的筆記本時間)
nmake前注意:
以下是一個網(wǎng)友遇到的,我不幸也遇到了- -!,所以先刪除那4個文件先
原鏈接:http://hi.baidu.com/316194566/blog/item/3452c0dce2650db4cd11668e.html
?
?
在編譯QT代碼時,會遇到一些問題,我遇到了兩個問題。
然后繼續(xù)編譯N久之后,又出現(xiàn)了問題。。。
編譯大概1個小時之后,出現(xiàn):
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
刪除,然后繼續(xù)編譯。
過了很長時間之后,在編譯webkit部分的代碼時,會發(fā)生錯誤,系統(tǒng)會停止編譯
D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock
etStreamHandlePrivate.cpp(97) : error C2065: “QSslError”: 未聲明的標(biāo)識符
D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock
etStreamHandlePrivate.cpp(97) : error C3861: “socketSslErrors”: 找不到標(biāo)識符
正在生成代碼...
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
刪除之后可以繼續(xù)編譯(重新執(zhí)行nmake命令)
編譯好后,wince上的qt庫就編譯成功了,可以打開qt下demo工程編譯測試.
QT已經(jīng)有編譯好的VS庫,可以直接安裝qt-win-opensource-4.7.3-vs2008.exe而不必經(jīng)歷上面這步的過程!!!
?
安裝Qt在vs上的插件:qt-vs-addin-1.1.9
沒什么好說的,安裝好后在vs上出現(xiàn)qt的插件圖標(biāo)
這個時候啟動Qt->Launch Designer失敗,顯示錯誤:QT in the given path was built using minGW
恩,這個已經(jīng)是最后一個問題了,解決方法:
原鏈接:http://dangflying.blog.163.com/blog/static/8693721820116298035/
1.修改注冊表:
HKEY_CURRENT_USER\Software\Trolltech\Versions\
下增加一個子項(xiàng)
qt201005(需要的名稱)
子項(xiàng)下面增加一個數(shù)值 InstallDir,值就是你要配置的Qt路徑
2.刪除文件
刪除qi的lib目錄下的
libqtmain.a and libqtmaind.a 兩個文件。
?
好了,大功告成,環(huán)境配置成功!
接下來可以把qt編譯的程序部署到wince板子上進(jìn)行測試,
將exe文件拷入想要的目錄,然后拷貝幾個庫文件進(jìn)去:
QtCore4.dll,QtGui4.dll,QtCored4.dll,QtGuid4.dllmsvcr90d.dll
前兩個release版本,后兩個是debug版本文件.
轉(zhuǎn)載于:https://www.cnblogs.com/zd_ad/archive/2012/11/06/2756554.html
總結(jié)
以上是生活随笔為你收集整理的WINCE 下配置 QT 的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【分类器】- KNN
- 下一篇: 第一个MVVM wp7程序