Qt 5.2.1出现错误“collect2.exe:Id返回1退出状态”
当我尝试构建我的应用程序时,我得到以下错误。有什么想法吗? 我在Win8上使用Qt5.2.1和MingW4.8 32位Qt 5.2.1出现错误“collect2.exe:Id返回1退出状态”,c,windows,qt,C,Windows,Qt,当我尝试构建我的应用程序时,我得到以下错误。有什么想法吗? 我在Win8上使用Qt5.2.1和MingW4.8 32位 16:14:47: Running steps for project test2... 16:14:47: Configuration unchanged, skipping qmake step. 16:14:47: Starting: "C:\Qt\Tools\mingw48_32\bin\mingw32-make.exe" C:/Qt/Tools/mingw48_32
16:14:47: Running steps for project test2...
16:14:47: Configuration unchanged, skipping qmake step.
16:14:47: Starting: "C:\Qt\Tools\mingw48_32\bin\mingw32-make.exe"
C:/Qt/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Users/ha/Desktop/build-test2-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
g++ -Wl,-subsystem,console -mthreads -o debug\test2.exe debug/main.o
debug/main.o: file not recognized: File truncated
collect2.exe: error: ld returned 1 exit status
Makefile.Debug:77: recipe for target 'debug\test2.exe' failed
mingw32-make[1]: *** [debug\test2.exe] Error 1
mingw32-make[1]: Leaving directory 'C:/Users/ha/Desktop/build-test2-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
makefile:34: recipe for target 'debug' failed
mingw32-make: *** [debug] Error 2
16:14:48: The process "C:\Qt\Tools\mingw48_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project test2 (kit: Desktop Qt 5.2.1 MinGW 32bit)
When executing step 'Make'
16:14:48: Elapsed time: 00:00.
这一行:
debug/main.o: file not recognized: File truncated
告诉您main.o文件创建不正确。从菜单中选择“重建”,或删除该文件并重新生成
这通常发生在编译器输出对象文件时中断编译器时。此行:
debug/main.o: file not recognized: File truncated
告诉您main.o文件创建不正确。从菜单中选择“重建”,或删除该文件并重新生成
这通常在编译器输出目标文件时中断编译器时发生。这也意味着所讨论的编译器很可能不会以原子方式输出目标文件:@Kuba您认为以原子方式编写文件会如何工作?这在word.QSaveFile的通常意义上是不可能的,而没有损坏的工具也可以这样做。写入临时文件,关闭它,然后在输出文件上重命名它。只要计算机和操作系统本身保持运行,您就可以随时终止进程,并且永远不会有部分写入的输出文件。部分临时文件并不重要。如果重命名文件是一个单独的操作,那么如果没有完整的替换文件,您也永远不会销毁现有文件。这真的很简单。这也意味着所讨论的编译器很可能不会以原子方式输出对象文件:@Kuba您认为以原子方式编写文件会如何工作?这在word.QSaveFile的通常意义上是不可能的,而没有损坏的工具也可以这样做。写入临时文件,关闭它,然后在输出文件上重命名它。只要计算机和操作系统本身保持运行,您就可以随时终止进程,并且永远不会有部分写入的输出文件。部分临时文件并不重要。如果重命名文件是一个单独的操作,那么如果没有完整的替换文件,您也永远不会销毁现有文件。这真的很简单。