c++ Qt错误:LNK1181:无法打开输入文件“debug\main.obj”

nr9pn0ug  于 2023-02-26  发布在  其他
关注(0)|答案(9)|浏览(810)

Qt creator本来运行良好,但突然显示出一个问题error: LNK1181: cannot open input file 'debug\main.obj'
无论是GUI还是console,任何类型的应用程序都会出现此问题。
我已经卸载了Qt,重新安装,但问题仍然存在。
我没有在Qt创建者设置中做任何事情,我离开了默认设置。
下面的应用程序是简单的控制台应用程序,在它里面发生了同样的问题.

//main.cpp
#include <QCoreApplication>

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

    return a.exec();
}

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

pftdvrlh

pftdvrlh1#

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

6ojccjat

6ojccjat2#

如果. pro或. pri文件中包含以下内容,也会出现此问题:
标题+=\

    • 或**

来源+=\

zwghvu4y

zwghvu4y3#

好了,我们终于有了这个一般化问题的真实的答案,而不是OP的错字问题,如果这也没有解决你的问题。

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

1.创建或克隆带有空格的项目
1.在Qt Creator中加载
1.运行QMAKE
1.选择左侧的“项目”按钮
1.确保您位于“Build”选项卡中
1.选择“Browse”,然后重新选择QMAKE制作的影子目录

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

3vpjnl9f

3vpjnl9f4#

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

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

而不是:

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

ktca8awb5#

对我有效的方法:
1.关闭Qt创建器
1.删除项目目录中的[filename]. pro. user文件
1.再次打开项目,让Qt自行配置
一般来说,每当我遇到这样的错误时,这是我首先要做的事情之一,因为它解决了Qt的许多问题。

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

8oomwypt6#

问题已解决。

问题的原因是在创建新项目(GUIConsole)时,属于此新项目的所有源文件采用错误的扩展名,例如:main.cp,但正确的扩展名应该是ex:当将所有源文件扩展名从.cp更改为.cpp时,效果很好。
或者从**[工具-〉选项-〉C++]**更改默认源文件扩展名。

vcirk6k6

vcirk6k67#

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

n6lpvg4x

n6lpvg4x8#

运行CleanqMakerebuild
我有这样的问题,这帮助了我。

ttvkxqim

ttvkxqim9#

我通过删除目录中的大路径和空格名称解决了这个问题。尝试在C:/中创建一个文件夹,并在此文件夹中复制或克隆项目。删除所有构建器文件夹并重新配置项目。这为我解决了这个问题。

相关问题