Qt错误:LNK1181:无法打开输入文件'debug \ main.obj'

时间:2013-09-04 02:00:22

标签: c++ qt qt5

Qt创作者运作良好,但突然出现问题error: LNK1181: cannot open input file 'debug\main.obj' 此问题始终显示任何类型的应用GUIconsole 我卸载了Qt,然后重新安装,但问题仍然存在 我在Qt创建器设置中没有做任何事情,我保留了默认设置。

以下应用程序是简单的控制台应用程序中出现同样的问题。

//main.cpp
#include <QCoreApplication>

int main(int argc, char *argv[]){
    QCoreApplication a(argc, argv);

    return a.exec();
}

注意:我正在使用Qt 5.1.1 for Windows 32-bit(VS 2010,OpenGL)。

8 个答案:

答案 0 :(得分:5)

如果项目的路径(任何文件夹的名称)包含空格,也会出现此问题。

答案 1 :(得分:2)

好的,我们终于有了这个广义问题的真实答案,而不是OP的拼写错误问题,如果它也没有阻止你。

实际问题(黑框透视):&#34;构建目录&#34;空白目录内项目的自动填充入口。 Qt Creator实际上禁止你,并告诉你在制作新项目时不要使用空格。您仍然可以关闭一个新项目并重新命名它以添加空格,Qt Creator将优雅地处理它。如果复制构建目录,即使其中包含空格,并将其粘贴到字段中,替换损坏的自动生成的路径(我的使用相对路径),然后JOM将开始正常工作,因为QMake不会产生任何错误。我无法代替其他Make工具。

  1. 使用空格制作或克隆您的项目
  2. 将其加载到Qt Creator
  3. 运行QMAKE
  4. 选择&#34;项目&#34;左侧的按钮
  5. 确保您已进入&#34; Build&#34;标签
  6. 选择&#34;浏览&#34;,然后重新选择影子目录QMAKE制作
  7. 如果删除旧的QMAKE生成的文件夹不是一个简单的问题,那么应该取消阻止,这是人们在Qt Creator中开发时遇到此特定错误的最常见问题。

答案 2 :(得分:2)

如果您在.pro或.pri文件中包含以下内容,也会发生此问题:

  

HEADERS + = \ \

  

来源+ = \ \

答案 3 :(得分:1)

问题已经解决。

问题在于,在创建新项目(GUIConsole)时,属于此新项目的所有源文件都采用了错误的扩展名:main.cp,但是正确的扩展应该是ex:main.cpp。 将所有源文件扩展名从.cp更改为.cpp时,工作正常。

或者从 [工具 - &gt;更改默认源文件扩展名选项 - &gt; C ++] 即可。
enter image description here

答案 4 :(得分:1)

由于这个原因我得到了错误:

HEADERS += \ \
    $$PWD/QOakTreeViewRecursiveModel.h

代替:

HEADERS += \
    $$PWD/QOakTreeViewRecursiveModel.h

答案 5 :(得分:0)

嗯如果我在使用类似的设置(QtCreator和Windows)运行QMAKE&amp;重建项目再次帮助我解决了这个链接器错误。

答案 6 :(得分:0)

运行CleanqMake以及rebuild 我喜欢这个问题,这对我很有帮助。

答案 7 :(得分:0)

对我有用的东西

  1. 关闭Qt Creator
  2. 删除项目目录中的[filename] .pro.user文件
  3. 再次打开项目,让Qt自行配置

通常,每当遇到这样的错误时,这都是我要做的第一件事,因为它解决了Qt的许多问题。

编辑:这当然会重置您的项目构建位置。