关闭

嵌入式 QT+VS2010开发出错处理

748人阅读 评论(0) 收藏 举报
分类:

一、下载源码并解压

从QT官网http://qt.nokia.com/ 下载最新的QT源码包,我下载的是4.8.1的版本。文件名为“qt-everywhere-opensource-src-4.8.1.zip”。用解压软件解压到”C:\QT-4.8.1”。

 

一些说明:

         1、解压路径可随意,但文件目录一定不能包含中文和空格!就算源程序和编译目录满足这个条件,然而QT在编译过程中,会大量使用TEMP文件,Window7系统的TEMP目录在C:\Users\[用户名]\AppData\Local\Temp下,如果当前用户是中文的名,在QT编译过程中就是致命的。最好的解决办法就是吧window的TEMP目录设置在根目录下(Windows下设置用户的环境变量,把里面的TEMP和TMP 全部设置成C:\TEMP)

 

二、编译前的一些准备工作

     由于Qt4.8在VS环境下的一些问题,为了避免编译中途出现,需要修改有:

1、删除源码包中bin目录下的syncqt和syncqt.dat文件,如你不放心可将其改名或剪切到别的位置。如不修改将发生Perl not found in environment - cannot run syncqt 错误。

2、修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的
QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-

QMAKE_CFLAGS=-nologo -Zm200-Zc:wchar_t   (注意末尾的”-“号区别)

如不修改将来如有项目使用wchar_t,qt却编译成wchar_t-,编译会导致连接错误,提示找不到Qwstring;

搜索整个文件,将MD,MDd对应改成MT,MTd,以实现在没有VC库的电脑也能运行Qt程序。

3、修改src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,将本行

return WEB_UI_STRING("Look Up """, "Look Up context menu itemwith selected word").replace("",truncatedStringForLookupMenuItem(selectedString));

替换成

return WEB_UI_STRING("Look Up """, "Look Up context menu itemwith selected word").replace("",truncatedStringForLookupMenuItem(selectedString));

如不修改将出现编译Webkit 时会出现 U1077错误。

  

 

三、编译过程

依次打开

开始->所有程序->Microsoft Visual Studio 2010->Visual StudioTools->Visual Studio 命令提示(2010)


 

    输入命令进入到源码包的目录下。如图:

 

 

     接下来进行编译前的配置工作。执行配置,完整命令如下:

configure -debug-and-release -fast -static -platformwin32-msvc2010 -no-qt3support -script -scripttools -qt-zlib-qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite-plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp-qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks-qt-style-motif -qt-style-cde -nomake demos -nomake examples-nomake docs –mp

配置完成,可以下一步nmake,以开始执行编译。

 

 

一些说明:

1、命令最后的-nomake demos -nomake examples -nomakedocs,不编译demos,exampls,docs文件,因为编译之后十分大!可达27G-28G。原因是静态库版本,每个程序都单独集成了库,随随便便都可以达到15M!加上这些选项后,这样既可以提高编译速度,也能减小编译后的体积。如果以后想编译,可单独编译,不影响使用。

2、网上资料一般都会有nmake clean,nmakeconfclean步骤,但强烈建议不要执行上述两个清理工作,编译成功就到此结束。因为会造成后面VS2010编译Qt程序以及QtSDK编译程序出现各种问题,如找不到config.h,qtmaind.lib等等。

3、不建议在configure添加-prex 指定nmakeinstall安装目录,后经实验,编译后,的确可以实现编译完成后能实现静态库链接,且在QtCreator编译出静态程序,但是在VS2010编译程序时,出现很多找不到PDB的警告,所以舍弃之。

 

四、安装VS插件

     安装文件为qt-vs-addin-1.1.10.exe。安装完成后,打开VS2010,可以通过QT菜单进行QT编译库定位

 

 


 

五、打开QT工程

     打开QT工程后,稍稍等待左下角提示关联文件包含提示结束,出现“就绪”的提示后,即可像编译普通VC程序一样,点“编译”按键进行编译以及通过调试菜单进行调试。

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:986207次
    • 积分:17700
    • 等级:
    • 排名:第540名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论