我正在尝试启动C ++ Qt应用程序,并在Visual Studio 2010中运行和编译。
做一些谷歌搜索,我发现有一个Visual Studio Qt加载项,所以我安装了这个。我已经安装了MinGW Qt二进制文件,当这不起作用时,我发现你必须编译Visual Studio 2010的源代码(VS 2008二进制文件会导致部署问题)。
使用它作为指南:How to build Qt for Visual Studio 2010,我编译了开源版本,并将其与QTDIR env变量一起添加到PATH中。希望我最终能够使用它,我使用Visual Studio 2010中的“新建项目向导”创建了“Qt应用程序”。完成后,我尝试构建程序,但只看到以下错误:
1>LINK : fatal error LNK1104: cannot open file 'qtmaind.lib'
我查看了C:\ QT \ lib文件夹,发现我只有一个qtmaind.prl,但没有任何关于为什么没有qtmaind.lib的线索。
我能够回显QMAKESPEC环境变量以获得'win32-msvc2010'输出。
我为配置步骤尝试了几种不同的标志组合,包括链接中的标志,甚至尝试手动设置-platform标志。
如果有人可以提供任何帮助,我们将不胜感激! :d
答案 0 :(得分:6)
刚遇到同样的问题。我将链接指南中的“-release”标志更改为“-debug-and-release”,然后构建了qtmaind.lib库(可能是“d”后缀代表调试)。
答案 1 :(得分:1)
我在运行其设置为特定计算机设置进行硬编码的项目时遇到此问题。
我可以看到vcxproj文件有类似的东西: C:\ Qt的\ 4.8.1 \ libqtmaind.lib
我在我的机器上找不到这个lib文件。我更换了以下行: C:\ Qt的\ 4.7.3 \ lib中\ Qtmaind.lib
看起来Qt版本中库文件的名称不同。或者,库文件可能已重命名。
此外,'d'表示调试。如果你找不到'd'后固定的任何lib文件,很可能你没有“制作”Qt的调试版本。 您可以通过打开configure创建的.Sln文件来交叉检查。我被命名为Projects.sln。您可以在记事本中打开它,看看是否存在win32-debug配置。
答案 2 :(得分:0)
这可能是QMAKESPEC
问题。尝试将QMAKESPEC
环境变量设置为
win32-msvc2010
并重建Qt。这应该会在你的Qt文件夹中提供.lib文件
答案 3 :(得分:-1)
在QT 5.3中与vs 2013
in properties - >链接器 - >输入
删除qt库的任何路径,例如qtmaind.lib
这是众所周知的BUG