Boost 1.51 : “error: could not link against boost_thread !”

江枫思渺然 提交于 2020-01-04 07:58:46

问题


After I've installed boost for cufflinks, I ran ./configure. I am getting the following error:

checking for exit in -lboost_thread... no
checking for exit in -lboost_thread... (cached) no
checking for exit in -lboost_thread... (cached) no
error: Could not link against boost_thread ! 

回答1:


check your config.log, it will show you in more detail why it failed:

configure:11032: checking for exit in -lboost_thread
configure:11057: g++ -o conftest -I/home/jcomeau/include  -Wstack-protector -fstack-protector-all -fPIE  -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2  -L/home/jcomeau/lib  -Wl,-z,relro -Wl,-z,now -pie -L/home/jcomeau/lib conftest.cpp -lboost_thread  -lminiupnpc -lminiupnpc -lminiupnpc -lminiupnpc  >&5
/usr/bin/ld: warning: libboost_system.so.1.54.0, needed by /home/jcomeau/lib/libboost_thread.so, not found (try using -rpath or -rpath-link)
/home/jcomeau/lib/libboost_thread.so: undefined reference to `boost::system::system_category()'
/home/jcomeau/lib/libboost_thread.so: undefined reference to `boost::system::generic_category()'
collect2: error: ld returned 1 exit status
configure:11057: $? = 1

in this case I had to change my ./configure command from:

./configure CXXFLAGS="-I$HOME/include" LDFLAGS="-L$HOME/lib"  --prefix=$HOME --with-boost-libdir=$HOME/lib

to:

./configure CXXFLAGS="-I$HOME/include" LDFLAGS="-L$HOME/lib -Wl,-rpath-link,$HOME/lib" --with-boost-libdir=$HOME/lib --prefix=$HOME

in accordance with the advice here: Get rid of "gcc - /usr/bin/ld: warning lib not found"



来源:https://stackoverflow.com/questions/12408564/boost-1-51-error-could-not-link-against-boost-thread

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!