2
當我嘗試構建我的應用程序時,出現以下錯誤。任何想法? 我在Win8中使用Qt 5.2.1使用MinGW 4.8 32位錯誤「collect2.exe:ID返回1退出狀態」與Qt 5.2.1
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.
這也意味着最有可能的編譯器不會以原子方式輸出目標文件:( –
@Kuba你如何想象原子寫入文件會起作用?在通常的意義上這是不可能的。 – rubenvb
'QSaveFile'這樣做,並且沒有被破壞的工具也可以這樣做,你可以寫一個臨時文件,關閉它,然後在輸出文件中重命名它,只要計算機和操作系統本身保持運行,你就可以殺死在任何時候你都不會有一個部分編寫的輸出文件,部分的臨時文件是沒有意義的,如果重命名文件是一個單一的操作,那麼你也不會在沒有完成任何東西的情況下銷燬現有的文件取代它,它非常簡單。 –