求助一下一个初级问题: error: collect2: ld returned 1 exit status

枫。晨夕 2010-05-28 03:39:37
我按照上QT后没有进行其他设置

然后新建一个新的 console 工程
然后run

报下面的错误
Running build steps for project ten...
Starting: d:/qt/2010.02.1/qt/bin/qmake.exe E:/Project/ten/ten.pro -spec win32-g++ -r
Exited with code 0.
Starting: D:/Qt/2010.02.1/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `E:/Project/ten'
D:/Qt/2010.02.1/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `E:/Project/ten'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -mthreads -Wl -o debug\ten.exe debug/main.o -L"d:\Qt\2010.02.1\qt\lib"
mingw32-make[1]: Leaving directory `E:/Project/ten'
mingw32-make: Leaving directory `E:/Project/ten'
debug/main.o: In function `main':
E:\Project\ten/main.cpp:5: undefined reference to `_imp___ZN16QCoreApplicationC1ERiPPc'
E:\Project\ten/main.cpp:7: undefined reference to `_imp___ZN16QCoreApplication4execEv'
E:\Project\ten/main.cpp:7: undefined reference to `_imp___ZN16QCoreApplicationD1Ev'
E:\Project\ten/main.cpp:7: undefined reference to `_imp___ZN16QCoreApplicationD1Ev'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\ten.exe] Error 1
mingw32-make: *** [debug] Error 2
Exited with code 2.
Error while building project ten
When executing build step 'Make'


:-1: error: collect2: ld returned 1 exit status
...全文
508 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫。晨夕 2010-05-30
  • 打赏
  • 举报
回复
不知道是不是这样原因:
在报错的程序中我新建 console 工程是没有选择 QtCore 选项
自动生成的main.cpp是这样的
#include <QtCore/QCoreApplication>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
return a.exec();
}

参考各位的意见后发现没有解决这个问题
所以我在又新建了一个 console 工程 这次选择了 QtCore选项,生成的main.cpp一样
但是编译后发现问题不存在了,内部机制还不懂,只是暂时解决了。
gemfield 2010-05-30
  • 打赏
  • 举报
回复
把projects里的环境变量的内容发上来瞅瞅
dext 2010-05-29
  • 打赏
  • 举报
回复
E:\Project\ten/main.cpp:5: undefined reference to `_imp___ZN16QCoreApplicationC1ERiPPc'

表明是你 链接 的时候有问题,不是 编译的时候。所以 就是没有连接到 指定的库。

有很多方法可以解决,可能需要你添加库
由于是Qt 的库,所以可能 Clean 在 来一下就对了。

还有可能 就是 你要重新 reconfig 可能是你编译qt以后,又把 Qt 位置移动了。
枫。晨夕 2010-05-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dext 的回复:]
E:\Project\ten/main.cpp:5: undefined reference to `_imp___ZN16QCoreApplicationC1ERiPPc'

表明是你 链接 的时候有问题,不是 编译的时候。所以 就是没有连接到 指定的库。

有很多方法可以解决,可能需要你添加库
由于是Qt 的库,所以可能 Clean 在 来一下就对了。

还有可能 就是 你要重新……
[/Quote]

clean 没有,没有解决
枫。晨夕 2010-05-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lizheng092 的回复:]
应该设置环境变量,
PATH中添加:在其值中添加C:\Qt\4.6.2\bin(Qt安装目录,直到BIN)
新建QTDIR,其值为C:\Qt\4.6.2
[/Quote]

添加环境变量后,发现还是这样,依然报错
枫。晨夕 2010-05-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 killua_hzl 的回复:]
这个错好像很多人都有

LZ,试着clean,然后删掉Makefile,重新编译看看
[/Quote]
这个好像不行,我删除还是这样
  • 打赏
  • 举报
回复
这个错好像很多人都有

LZ,试着clean,然后删掉Makefile,重新编译看看
lizheng092 2010-05-28
  • 打赏
  • 举报
回复
应该设置环境变量,
PATH中添加:在其值中添加C:\Qt\4.6.2\bin(Qt安装目录,直到BIN)
新建QTDIR,其值为C:\Qt\4.6.2
qter_wd007 2010-05-28
  • 打赏
  • 举报
回复
环境的可能比较大
gemfield 2010-05-28
  • 打赏
  • 举报
回复
环境变量没设置好
枫。晨夕 2010-05-28
  • 打赏
  • 举报
回复
补充说明一下,我这个是在windows下的qt,主要目的编写简单 C/C++ 小程序,不涉及界面开发

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧