天天看点

更新VS+Qt项目(从VS2010+Qt5.4.0到VS2012+Qt5.2.1)

总结一下拿到的VS2010+Qt5.4.0项目,重新编译成VS2012+Qt5.2.1:

拿到项目之后,

1. 是要更新编译器和库,用VS2012打开sln,点“更新”。更新后,vs会自动将平台工具集更改为“v110”(之前为“v100”)。

2. 在Qt Option中重新选择设置Qt版本。并将所需要的项目转换长Qt Add-in project,在Qt Project Setting/Qt Modules中勾选上所需要的模块,比如用了网络,则要勾选上Network

更新VS+Qt项目(从VS2010+Qt5.4.0到VS2012+Qt5.2.1)
更新VS+Qt项目(从VS2010+Qt5.4.0到VS2012+Qt5.2.1)

3. 检查项目属性--VC++目录--包含目录 下 是否都改成了当前选择的QT版本。我的sln下有2个项目,当时是改了一个项目的目录,另一个没改,导致编译时候始终提示Qt相关的头文件找不到引用路径(报错:fatal error C1083: 无法打开包括文件:“QtCore/QString”: No such file or directory)

更新VS+Qt项目(从VS2010+Qt5.4.0到VS2012+Qt5.2.1)

4. 检查项目属性--C/C++--常规下各种附加包含目录 是否包含了所需的目录。

5. 检查项目属性--链接器--附加库目录中是否包含了所需的依赖库目录

6. 检查项目属性--链接器--输入中的附加依赖项是否正确

以上三项有不对的都会导致报错:LINK : fatal error LNK1104: 无法打开文件“\.obj”

在项目更新时,发现附加依赖项被默认修改成这样,

更新VS+Qt项目(从VS2010+Qt5.4.0到VS2012+Qt5.2.1)

这肯定是不对的。应该改成:

更新VS+Qt项目(从VS2010+Qt5.4.0到VS2012+Qt5.2.1)

电脑里面没有:C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.0A\Lib\setupapi.lib。的根据实际情况修改:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\SetupAPI.Lib

总结:

其实过程很简单,修改Qt版本,以及各种依赖库路径。但是有路径或者版本不对的地方,就会导致各种link错误。