在nextgenmap-lr上失败:/ usr / bin / ld:动态对象的尝试静态链接`/usr/local/lib/libz.so'

时间:2016-12-19 14:54:05

标签: gcc dynamic g++ install

我的错误讯息是

[ 96%] Building CXX object src/CMakeFiles/ngmlr.dir/unix.cpp.o
[100%] Building CXX object src/CMakeFiles/ngmlr.dir/unix_threads.cpp.o
Linking CXX executable ../../bin/ngmlr-0.1.6/ngmlr
/usr/bin/ld: attempted static link of dynamic object`/usr/local/lib/libz.so'
collect2: error: ld returned 1 exit status
make[2]: *** [../bin/ngmlr-0.1.6/ngmlr] Error 1
make[1]: *** [src/CMakeFiles/ngmlr.dir/all] Error 2
make: *** [all] Error 2

$ ls -l /usr/local/lib/libz.so*
 libz.so -> libz.so.1.2.8
 libz.so.1 -> libz.so.1.2.8
 libz.so.1.2.8

我的ZLIB的链接路径 - 找到ZLIB:/usr/local/lib/libz.so(找到版本" 1.2.8")

我的系统是ubuntu 14.10

我重新安装了zlib-1.2.8,但我有同样的问题 我怎样才能找到解决这个问题的方法 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

这可以通过向系统添加静态库(例如yum install zlib-static)或编辑CMakeLists.txt文件来禁用静态编译(即设置==选项(STATIC“Build static binary”)来解决。 OFF))