12

Qt creator 运行良好,但突然出现问题error: LNK1181: cannot open input file 'debug\main.obj'
这个问题总是出现在任何类型的应用程序GUIconsole
我已经卸载了Qt,然后重新安装,但问题仍然存在。
我没有在 Qt creator 设置中做任何事情,我保留了默认设置。

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

//main.cpp
#include <QCoreApplication>

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

    return a.exec();
}

注意:我使用 Qt 5.1.1 for Windows 32 位(VS 2010,OpenGL)。

4

8 回答 8

19

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

于 2017-03-03T11:51:02.420 回答
9

如果您在 .pro 或 .pri 文件中有类似以下内容,也会出现此问题:

标题 += \ \

或者

来源 += \ \

于 2019-05-13T10:53:47.193 回答
3

好的,如果这也没有解除对您的阻止,那么我们终于有了这个普遍问题的真正答案,而不是 OP 的拼写错误问题。

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

  1. 使用空格创建或克隆您的项目
  2. 在 Qt Creator 中加载它
  3. 运行 QMAKE
  4. 选择左侧的“项目”按钮
  5. 确保您在“构建”选项卡中
  6. 选择“浏览”,然后重新选择QMAKE制作的影子目录

如果删除旧的 QMAKE 生成的文件夹不是一个简单的问题,那应该可以解除阻止,这是人们在 Qt Creator 中开发时遇到此特定错误的最常见问题。

于 2017-08-19T02:25:51.347 回答
1

问题已解决。

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

或者从[Tools -> Option -> C++]更改默认源文件扩展名。

在此处输入图像描述

于 2013-09-04T06:35:55.287 回答
1

因为这个,我得到了错误:

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

代替:

HEADERS += \
    $$PWD/QOakTreeViewRecursiveModel.h
于 2019-04-30T10:43:28.087 回答
1

什么对我有用:

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

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

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

于 2019-06-02T19:19:51.167 回答
0

运行Clean和。qMake_ 我喜欢这个问题,这对我有帮助。rebuild

于 2013-10-07T14:29:51.673 回答
0

嗯,如果我没记错的话,当我使用运行 QMAKE 的类似设置(QtCreator 和 Windows)遇到此类问题时,再次重建项目帮助我解决了这个链接器错误。

于 2013-09-04T15:52:25.570 回答