我已经安装了建立使用Boost项目与ArchLinux的
extra/boost 1.52.0-1
extra/boost-libs 1.52.0-1
与ArchLinux的下吃豆子。我正在尝试构建使用Boost库的一部分的autotools C++项目。它们已经在Ubuntu 12.04下成功通过测试和构建。与安装libboost-all-dev
包。使用ArchLinux ./configure
可以正常工作,编译过程(make
)也可以工作。然而,链接似乎存在问题:
libtool: link: g++ -g -O2 -Wall -Wextra -o ssbmc smtparser.o ...
../contrib/cudd 2.4.2/obj/.libs/libobj.a ...
-lboost_program_options-mt -lboost_iostreams-mt -lgmp -lgmpxx -lm -lz
/usr/bin/ld: cannot find -lboost_program_options-mt
/usr/bin/ld: cannot find -lboost_iostreams-mt
任何想法为什么会失败?由于源使用Boost库函数,并且编译文件不会失败,所以标题似乎在那里。
的库有:
$ ls /usr/lib/ | grep program
libboost_program_options.a
libboost_program_options.so
libboost_program_options.so.1.52.0
$ ls /usr/lib/ | grep iostreams
libboost_iostreams.a
libboost_iostreams.so
libboost_iostreams.so.1.52.0
他们是否要改名?
尝试的搜索中,希望* -mt文件!也许它是硬编码的? – uzsolt 2013-02-23 20:23:32