Qt无法打开输入文件'c:\ Qt \ qt \ lib \ qtmaind.lib'。

6
我是使用Qt 4.5的。 我创建了一个项目,想要在Visual Studio 2008上为Windows Mobile 6.0编译。 因此,我按照以下步骤创建了项目文件:
D:\Projects\Phone_PDA\Phone_PDA>set QMAKESPEC=win32-msvc2008
D:\Projects\Phone_PDA\Phone_PDA>qmake -tp vc

已创建了VS项目。但是,在我尝试编译时出现以下错误: LINK : 致命错误 LNK1181: 无法打开输入文件 'c:\Qt\qt\lib\qtmaind.lib'
然而,当我在Visual Studio的项目属性下检查我的库和包含文件时,我看到了这个:
Additional Include Directories
c:\Qt\qt\include\QtCore
c:\Qt\qt\include\QtGui
c:\Qt\qt\include
c:\Qt\qt\include\ActiveQt
debug
c:\Qt\qt\mkspecs\win32-msvc2008

Additional Library Directories
c:\Qt\qt\lib

Additional Dependencies
c:\Qt\qt\lib\qtmaind.lib
c:\Qt\qt\lib\QtGuid4.lib
c:\Qt\qt\lib\QtCored4.lib

然而,当我浏览到c:\Qt\qt\lib目录时,我只有: qtmain.prl和qtmaind.prl 但是,我没有qtmaind.lib或qtmain.lib。
非常感谢任何建议。

你使用的是商业版还是开源版? - Jesse Vogt
你说的“我没有qtmaind.lib”是什么意思?我在你的列表中看到了它(从底部数第三个文件)。 - scvalex
@scvalex 我猜这意味着它们在项目属性中列出,但实际上并不在他的系统上。 - Jesse Vogt
我正在使用商业版。我已经编辑了我的问题,因为我没有建议我是从Visual Studio属性中列出的。 - ant2009
5个回答

2

打开Visual Studio命令提示符(可以在开始菜单中找到快捷方式)。它已经设置了所有必要的环境变量。进入C:\Qt\20****\qt目录。输入configure,然后再输入nmake


2

您确定正在使用正确的QMAKESPEC吗?

我认为您需要使用wince * -msvc2008

请参见Qt:支持的平台


1

1

我正在使用商业版。但是,我已经在另一台运行相同版本qt的计算机上执行了相同的测试,并且遇到了相同的问题。当我浏览到C:\Qt\qt\lib时,我没有qtmaind.dll,谢谢。 - ant2009
还有一个商业源码下载。很抱歉,我想不出为什么文件不在那个位置的好理由。您是否有在问题机器上安装Qt所使用的文件的确切名称? 我可以在周一上班时将其与我手头的进行比对。 - Jesse Vogt
此外,由于不太熟悉非桌面(即wince/windows mobile)安装程序,可能它们不包括这些文件,因为目标可执行文件在该环境中的处理方式不同。例如:VS认为您正在尝试创建桌面应用程序(并相应地尝试进行链接),而您的Qt安装则针对wince应用程序。 - Jesse Vogt

0

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

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

有时需要从VS项目中删除:

/SUBSYSTEM:WINDOWS%40QMAKE_SUBSYSTEM_SUFFIX%40(在属性 -> 链接器 -> 命令行下)。

这是已知的VS插件错误。


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