一、前言

因为需要研究TestCocoon,所以就将该程序的源码下载了下来,准备研究看看它插桩是什么样的机制,用CMake生成VS工程的时候,报了不少错,是和QT相关的,也就是说我机子上没有安装QT库,所以没办法,我需要自己编译个QT库了。

 

二、QT下载

我下载的QT是4.7.3版本,下载链接:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.3.zip

 

三、编译QT库

其实QT库已经把编译过程弄的很简单了,只是文档没有描述清楚,所以会给我们这些编译者带来很大的麻烦。

首先,我们打开VS的命令行窗口,我打开的方法是,选择菜单开始\所有程序\visual studio2008\visual studio tools\命令行提示,VS2008界面也有打开的菜单项,哪个都可以,无所谓。

然后,在命令行窗口内输入cd /D QT目录,这里QT目录指含有configure文件的QT根目录。

最后,输入config -platform win32-msvc2008。

QT文档中写的是config -platfor win32-msvc,刚开始我怎么也编译不过去,报错误的编译器设置,但有不知道正确的该如何写,很郁闷,所以就不停的试,大写、小写,很烦人。

 

四、注意点

正常来说,输入上边命令后会生成QT的VS2008工程。我在两个不同的机子上进行过编译,一次是很顺利就过去了,而另一次则报错,开始的时候报nmake没有找到,后来包nmake执行失败,我总结的原因是可执行目录、头文件目录、lib目录可能没有设置正确,不能自动找到对应的文件。

找不到可执行文件时,设置该文件所在目录到path环境变量中,缺少头文件时,设置对应文件目录到include环境变量中,缺少lib文件时,设置对应文件目录到lib环境变量中。

 

设置环境变量的命令行如下:

set xx=new value;%xx%

例如设置D盘到path环境变量中:

set path=D:\;%path%

 

设置环境变量有一点需要注意,那就是如果路径中有空格,我们也不要用引号将其引起来,直接写就可以。