file not recognized: File truncated编译错误总结

file not recognized: File truncated错误:

这种错误一般是编译数据被截断或则编译过程中发生异常退出系统导致数据丢失;


例如:

sample.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
make[5]: *** [libsample.so] Error 1
make[4]: *** [toolkit/library/target] Error 2

一般有两种会有两种解决方案:

#1.  make clean, rebuild

Just remove the object file.

This error most likely appeared after the previous build was interrupted and object file was not generated completely.


#2.  使用了ccache加速编译需要消除缓存: 通过ccache -s 查看cache的信息,通过ccache -C清除缓存

注意:需要进入Makefile所在目录清除;

Just as an info if some come around here.

Another problem (with the same error) could be, that you are using the ccache for faster compilation. In this case, the corrupt *.o file is there as well. So for that reason you have to clean the cache with

ccache -C (note the upper case C!)

Wasted me hours the first time ;-)


ccache source code: https://github.com/ccache/ccache


你可能感兴趣的:(C/C++)