在Visual Studio 2010中构建Qt - 无法打开文件“qtmaind.lib”

4
我正在尝试启动一个C ++ Qt应用程序并使其在Visual Studio 2010中运行和编译。通过一些谷歌搜索,我发现了一个Visual Studio Qt插件,于是我安装了它。我已经安装了MinGW Qt二进制文件,但当这种方法不起作用时,我发现您必须为Visual Studio 2010编译源代码(VS 2008二进制文件会导致部署问题)。按照此指南:如何构建Visual Studio 2010的Qt,我编译了开源版本,并将其添加到 PATH 中,以及 QTDIR 环境变量。希望我最终使它工作了,我使用 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

C:\QT\lib 目录下有没有 *.lib 文件?
...我编译了源代码... 你编译成功了吗?我的意思是,尝试使用 Windows 搜索手动查找 Qt 库。
- user928204
QtCore4.lib和qtmain.lib都在那里,等等。是的,我有。 - Casey Kuball
4个回答

8

我遇到了和你一样的问题。我将链接指南中的“-release”标志改为“-debug-and-release”,然后它构建了qtmaind.lib库(推测这个“d”后缀代表调试)。


1
我在运行一个设置针对特定机器的硬编码项目时遇到了这个问题。我发现vcxproj文件中有以下内容:C:\Qt\4.8.1\libqtmaind.lib,但是我在我的电脑上找不到这个库文件。我用以下内容替换了这行代码:C:\Qt\4.7.3\lib\Qtmaind.lib。看起来Qt版本之间库文件的名称不同,或者库文件被重命名了。此外,“d”代表debug。如果你找不到任何以“d”结尾的库文件,很可能你没有制作Qt的debug版本。你可以通过打开configure创建的.Sln文件进行交叉检查。我的文件名为Projects.sln。你可以在记事本中打开该文件,并查看是否存在win32-debug配置。

0
这可能是一个 QMAKESPEC 问题。尝试将你的 QMAKESPEC 环境变量设置为
win32-msvc2010

然后像这样重新构建Qt。这将在您的Qt文件夹中提供.lib文件


构建后仍然没有qtmaind.lib。我看到这个人有同样的问题,尽管使用不同版本的Visual Studio,并使用商业版(我使用开源版):https://dev59.com/5kjSa4cB1Zd3GeqPDClN。他似乎通过使用QMAKESPEC环境变量的其他值来解决了这个问题。我还要提到,我尝试在单独的构建中使用“--platform win32-msvc2010”作为额外标志,但也没有起作用。 - Casey Kuball

-1

在QT 5.3和vs 2013中

在属性->链接器->输入中

删除任何qt库路径,如qtmaind.lib

这是已知的BUG


1
你能否进一步完善您的回答,比如添加一个错误报告的链接? - matsjoyce

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接