一、前言
因为需要研究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%
设置环境变量有一点需要注意,那就是如果路径中有空格,我们也不要用引号将其引起来,直接写就可以。