我正在尝试使用Eclipse在Linux中编译一个简单的“Hello World”程序,但我总是这样:
Building target: hello
Invoking: GCC C++ Linker
g++ -o "hello" ./src/hello.o
./src/hello.o: file not recognized: File truncated
collect2: ld returned 1 exit status
make: *** [hello] Error 1
**** Build Finished ****
有谁知道问题是什么?
答案 0 :(得分:81)
只需删除目标文件。
此错误很可能是在上一次构建中断并且未完全生成目标文件之后出现的。
答案 1 :(得分:11)
就像有些人来到这里一样。
另一个问题(具有相同的错误)可能是您正在使用ccache来加快编译速度。在这种情况下,损坏的* .o文件也存在。因此,您必须使用
清理缓存 ccache -C
(注意大写字母C!)
第一次浪费我几个小时;-)
答案 2 :(得分:0)
我认为
g++ -o "hello" ./src/hello.o
should be ./src/hello.(c | cpp | cc depending on your language type)