Dragon  
Dragon
日历
<2010年9月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
统计
  • 随笔 - 58
  • 文章 - 0
  • 评论 - 55
  • 引用 - 0

导航

常用链接

留言簿(3)

随笔分类(58)

随笔档案(58)

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

在最近觉得QT越来越好用了,都是同一QT代码,能很快的从windows XP移植到windows mobile

我先说明一下我已经编译好的QT版本:

D:\Qt\mobile\4.4.3

编译选项:

-platform

win32-msvc2008

-xplatform

wincewm60professional-msvc2008

-fast

D:\Qt\mobile\4.6.2

编译选项:

-platform

win32-msvc2008

-xplatform

wincewm60professional-msvc2008

-fast

 

D:\Qt\win32\4.4.3

编译选项:

-platform

win32-msvc2008

-debug-and-release

 

D:\Qt\win32\4.6.2

编译选项:

-platform

win32-msvc2008

-debug-and-release

 

1.  首先我们将这四个路径添加到VS中,工具->选项->Qt->Builds->Add

D:\Qt\mobile\4.4.3=>命名为4.4.3_mobile

D:\Qt\mobile\4.6.2=>命名为4.6.2_mobile

D:\Qt\win32\4.4.3=>命名为4.4.3_win32

D:\Qt\win32\4.6.3=>命名为4.6.2_win32

以前感觉这里的设置对VS没影响,现在才发现它们是有影响的,它们就是设置环境变量QTDIR的值,
这个值在“解决方案管理器”中单击你的项目名称,然后在
VS右边的“属性框”Version中可以修改
(修改后要重新生成解决方案),如图:

2.  修改这个值还没有可以移植到windows mobile下。在生成->配置管理器;在“活动解决方案平台”
的下拉框中选择“新建”,在弹出的对话框中的“键入或选择新平台”选择“
Windows Mobile 6 Professional SDK (ARMV4I)”,
选择从“
win32平台复制设置,点确定即可。那时在工具栏中的Debug旁边就有一个Windows Mobile 6 Professional SDK (ARMV4I)

3.  然后在“解决方案管理器”中右击项目,选择属性。在弹出的对话框中我们只需要添加两个东西
就够了。(记得“配置”设置“活动
Debug”,平台选择“Windows Mobile 6 Professional SDK (ARMV4I)”;
C/C++->预处理器,在“预处理器定义”中全部替换为以下内容:

_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;DEBUG;_WINDOWS;
$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE;POCKETPC2003_UI_MODEL;QT_THREAD_SUPPORT;
QT_CORE_LIB;QT_GUI_LIB;QT_XML_LIB

(中间没有回车,只有一行)

在链接器->命令行->符加选项中添加如下内容:

/subsystem:windowsce,5.00

 

最后在属性框中修改成mobile用的QT版本,重新生成解决方案即可。

(注:因为QTDIR值随着QT版本的改变而改变,故头文件与LIB的路径不用再修改)

 

如果有些代码是用了

#ifdef isMobile

#endif

包围的,我们可以在项目属性中C/C++->命令行->附加选项中加入:/D "isMobile"

记得这是在平台Windows Mobile 6 Professional SDK (ARMV4I)中。
posted on 2010-09-07 17:46 Dragon 阅读(1357) 评论(0)  编辑 收藏 引用 所属分类: QT

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


 
Copyright © Dragon Powered by: 博客园 模板提供:沪江博客