博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置qt + wince + vs2005环境
阅读量:3949 次
发布时间:2019-05-24

本文共 4727 字,大约阅读时间需要 15 分钟。

               

本文博客链接:,作者:jdh,转载请注明.

极其复杂!这是我配置过的最复杂的环境了,辗转中外论坛,通宵编译,国庆7天就花在这上面了,古龙说过,人在公司,啊.如果看这篇文章的你严格按我写的一步步做的话,大概20个小时后就完成配置了:)

,下面开始配置环境.

版本说明:

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个文件先

原链接:

在编译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

恩,这个已经是最后一个问题了,解决方法:

原链接:

1.修改注册表:

HKEY_CURRENT_USER\Software\\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版本文件.

 

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!

你可能感兴趣的文章
Determining and Monitoring the Docking State and Type 判断并监测设备的停驻状态与类型
查看>>
Determining and Monitoring the Connectivity Status 根据网络连接状况去省电
查看>>
Manipulating Broadcast Receivers On Demand 按需操控广播接收
查看>>
Creating a View Class 创建一个视图类
查看>>
Custom Drawing 自定义绘制
查看>>
Making the View Interactive 视图互动
查看>>
Optimizing the View 优化视图
查看>>
Setting Up the Search Interface 设置搜索界面
查看>>
Storing and Searching for Data 数据存储和搜索
查看>>
Remaining Backward Compatible 保持向后兼容
查看>>
Remembering Your User 记住你的用户
查看>>
Authenticating to OAuth2 Services 验证OAuth2服务
查看>>
Creating a Custom Account Type 创建自定义帐户类型
查看>>
Sending Content to Other Apps 将内容发送到其他应用程序
查看>>
Receiving Content from Other Apps 接收来自其他应用程序的内容
查看>>
Adding an Easy Share Action 添加一个简单的共享行动
查看>>
Taking Photos Simply 简单地拍摄照片
查看>>
Recording Videos Simply 简单录制视频
查看>>
Controlling the Camera 控制相机
查看>>
Creating Multiple APKs for Different API Levels 创建多个不同的API级别的APK
查看>>