• 25362阅读
  • 9回复

error: collect2: ld returned 1 exit status 怎么解决 [复制链接]

上一主题 下一主题
离线草也
 
只看楼主 倒序阅读 楼主  发表于: 2010-11-12
— 本帖被 XChinux 执行加亮操作(2010-11-12) —
开始学QT,老是出现error: collect2: ld returned 1 exit status 这个问题,各位大侠帮帮忙。
我电脑是XP系统,QtCreator2.0.1,在D盘下一个文件夹创建Myproject,然后里面在里面编写了很多练习。
complie Output提示:
collect2: ld returned 1 exit status

mingw32-make[1]: Leaving directory `D:/MyProject/event-build-desktop'

mingw32-make: Leaving directory `D:/MyProject/event-build-desktop'

mingw32-make[1]: *** [debug\event.exe] Error 1

mingw32-make: *** [debug] Error 2

The process "D:/Qt/2010.05/mingw/bin/mingw32-make.exe" exited with code %2.
Error while building project event (target: Desktop)
When executing build step 'Make'

网上很多解决方法都试过了:
1.  因为上次执行的程序还在运行,你打开windows的任务管理器中的进程可以看见你刚才运行的程序还在执行,我们看不见,是因为它在后台执行着。出现这个现象,是因为你写的代码的问题,比如在main函数里用了w.show();语句,就可能出现界面一闪而过,但它并没有关闭,而是在后台运行,所以再次运行时就会出错。我们可以在资源管理器中将该进程关闭,或者像上面那样直接关闭Qt Creator。
    我都试过,连重起电脑都试过,还是不行。重新创建工程,编写代码,第一次可以运行,后来再加代码,又出现这个问题。
2. 编译的程序没有关闭,还处在运行状态。
解决办法点击菜单 Debug–Stop Debugger......................试过是不行。

3. 打开你项目文件下底下的Makefile文件,找到CFLAG:开头的这行,删除 "-lgthread-2.0",就可以了
或者干脆查找“-lgthread-2.0”,删除即。。。。。。。不行


程序是按着教程上敲的,应该没什么问题。是不是新版的QTCreator本身的毛病? 

离线dbzhang800

只看该作者 1楼 发表于: 2010-11-12
贴这条语句以上的,collect2: ld returned 1 exit status
而不是以下的部分
离线草也
只看该作者 2楼 发表于: 2010-11-12
Running build steps for project event...
Configuration unchanged, skipping qmake step.
Starting: "D:/Qt/2010.05/mingw/bin/mingw32-make.exe" -w
mingw32-make: Entering directory `D:/MyProject/event-build-desktop'

D:/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory `D:/MyProject/event-build-desktop'

mingw32-make[1]: Nothing to be done for `first'.

mingw32-make[1]: Leaving directory `D:/MyProject/event-build-desktop'

mingw32-make: Leaving directory `D:/MyProject/event-build-desktop'

The process "D:/Qt/2010.05/mingw/bin/mingw32-make.exe" exited normally.
[ 此帖被草也在2010-11-12 18:30重新编辑 ]
离线草也
只看该作者 3楼 发表于: 2010-11-12
回 1楼(dbzhang800) 的帖子
贴过来了。
我使用的例子http://www.yafeilinux.com/?p=43
[ 此帖被草也在2010-11-12 14:34重新编辑 ]
离线dbzhang800

只看该作者 4楼 发表于: 2010-11-12
找本C++的书先看看吧,你缺少的应该是C++的基础知识
离线jdwx

只看该作者 5楼 发表于: 2010-11-12
是你的函数有的有定义没声明,要不就是声明了没定义,再有就是定义生明不一致!
MainWindow::do_file_SaveOrNot()
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线moshang
只看该作者 6楼 发表于: 2010-11-12
你的例子里都找不到do_file_SaveOrNot()函数,怎么还会报这个错呢
离线草也
只看该作者 7楼 发表于: 2010-11-12
回 5楼(jdwx) 的帖子
谢谢了,是这个问题!
离线草也
只看该作者 8楼 发表于: 2010-11-12
引用第6楼moshang于2010-11-12 16:09发表的 :
你的例子里都找不到do_file_SaveOrNot()函数,怎么还会报这个错呢

我是两个函数都遇到这个问题,上面一个剪错了。
现在问题解决了,是函数没定义,我把它当库函数用了。但是这个出错提示很费解。
离线dbzhang800

只看该作者 9楼 发表于: 2010-11-12
这个错误提示很容易理解。不过你看出错信息从后面开始看倒是可能会令人比较费解
快速回复
限100 字节
 
上一个 下一个