VS2010+Qt_4.8.3环境搭建
各位亲们,本人最近刚接触Qt,需要搭建VS2010+Qt_4.8.3,于是去官网下载了源码qt-everywhere-opensource-src-4.8.3.zip、已经编译好的动态库qt-win-opensource-4.8.3-vs2010.exe以及Qt对VS2010的插件qt-vs-addin-1.1.11-opensource.exe,按照下面步骤进行操作,
1、安装Qt编译好的动态库qt-win-opensource-4.8.3-vs2010.exe
2、安装Qt对VS2010的插件qt-vs-addin-1.1.11-opensource.exe
3、打开VS2010进行Qt Opition进行配置
4、使用VS2010新建一个项目,编写代码,然后配置VC++ Directories,在link中添加Qt中的lib库
5、编译,link成功,但是执行的时候会出现“***.dll找不到,程序无法执行的问题”。这是因为qt-win-opensource-4.8.3-vs2010.exe是Qt自己编译好的动态库,执行程序的时候必须将相应的dll一起拷贝到.exe文件下,.exe文件才能执行。也可以在自己的电脑将qt-win-opensource-4.8.3-vs2010.exe安装目录中的bin目录设置为环境变量。但是这样的话,发布程序的时候还是要将相应的库一起打包的,这样不是很方便,所以本人就在网上查找了关于Qt4.8.3静态编译的方法,然后安装其方法进行一步一步操作,
1、解压qt-everywhere-opensource-src-4.8.3.zip
2、修改mkspecs\win32-msvc2010目录中的qmake.conf文件,有以下修改
将QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-修改成QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t
将文件中的MD都替换成MT,MDd替换成MTd
3、删除bin目录下的两个S打头的文件一个是批处理(.bat文件),记住不能删掉setcpaths.bat文件
4、修改src\3rdparty\webkit\Source\WebCore\platform目录下DefaultLocalizationStrategy.cpp文件中的第327行,做如下修改
修改成return WEB_UI_STRING("Look Up \“\”", "Look Up context menu item with selected word").replace("", truncatedStringForLookupMenuItem(selectedString));
5、进入VS2010的命令行Visual Studio Command Prompt(2010),然后进入到qt-everywhere-opensource-src-4.8.3.zip的解压目录
6、使用Configure进行配置
7、使用nmake进行编译,编译成功
8、打开VS2010进行Qt Opition进行配置
9、使用VS2010新建一个项目,编写代码,然后配置VC++ Directories,在link中添加Qt中的lib库
10、进行编译,编译没问题,但是Link时有问题,有如下问题,
QtCoreD.lib(qeventdispatcher_win.obj) : error LNK2019: unresolved external symbol _WSAAsyncSelect@16 referenced in function "public: void __thiscall QEventDispatcherWin32Private::doWsaAsyncSelect(int)" (?doWsaAsyncSelect@QEventDispatcherWin32Private@@QAEXH@Z)
向各位求解,不知是什么问题。
谢谢!