我从libfoo.so: file not recognized: File truncated
收到make -j 8
错误。
当我删除文件并重新制作时,一切正常:
$ make clean
$ make -j 8
...
libvw.so: file not recognized: File truncated
make: *** [all] Error 2
$ mv libvw.so libvw.so-
$ make -j 8
success
$ cmp libvw.so libvw.so-
即,libvw.so
没问题。
-j 8
它可以立即使用:
$ make clean
$ make
success
那么,如何将-j 8
用于共享库?
(这个项目使用GNU Make,所以GNU特定的解决方案很好)。
答案 0 :(得分:1)
您很可能错过了一个makefile规则中的依赖项,并且发生错误是因为libw.so仍然在可执行文件尝试链接到它时构建。
但请注意,有一些版本的make有并行的依赖项的bug。确保你正在使用补丁这种东西的发行版。