我正在尝试编译此存储库:https://github.com/graehl/carmel。
有一个标准的makefile用于编译。
虽然我已经安装了升级库“libboost-all-dev”,但我遇到了这样的错误:
/usr/bin/ld: cannot find -lboost_random-mt
/usr/bin/ld: cannot find -lboost_timer-mt
/usr/bin/ld: cannot find -lboost_chrono-mt
/usr/bin/ld: cannot find -lboost_system-mt
collect2: error: ld returned 1 exit status
../graehl/graehl.mk:331: recipe for target 'bin/linux/carmel' failed
make: *** [bin/linux/carmel] Error 1
我该如何解决问题?
谢谢,
答案 0 :(得分:1)
如果您的系统中有所需的软件包,请尝试使用此命令。所以,如果你拥有它,你可以尝试编译项目,注意你的靴库是如何安装的。在README.md中写道:
cd carmel; make -j 4 install BOOST_SUFFIX=-mt INSTALL_PREFIX=/usr/local
# BOOST_SUFFIX= depends on how your boost libraries are installed - ls /usr/lib/libboost*.so
(prerequisites: GNU Make (3.8) C++ compiler (GCC 5, clang 3.7, or visual studio 2015 will do) and Boost, which you probably already have on your linux system; for Mac, you can get them from Homebrew. For windows: MSVC2015 should work; you can also use cygwin or mingw.
答案 1 :(得分:1)
所以我认为问题在于你没有告诉你的链接器靴子库在哪里。 我想那时我就是这个问题Question 因此,使用此命令可以了解库的位置。
dpkg -S <name of library>
例如:
dpkg -S boost_random
表示-lboost_random-mt