问题
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