我想构建一个使用boost库program_options
和iostreams
的autotools项目。因此我安装了这些库:
sudo aptitude install libboost-iostreams-dev libboost-program_options-dev
现在./configure
很好,程序编译。然而,链接失败:
/usr/bin/ld: cannot find -lboost_program_options-mt
/usr/bin/ld: cannot find -lboost_iostreams-mt
这是一个记录良好的问题,可以通过修复autotools内容或将boost_program_options
链接到boost_program_options-mt
等来解决。我选择做后者,因为这不是我的项目。但是,我无法找到Ubuntu中安装的库:
locate *boost*
返回一个文档和包信息列表以及一些我不想要的boost库。 locate *program_options*
是空的。图书馆不在/usr/lib
或/lib
下......有什么想法吗?
答案 0 :(得分:1)
对我来说,他们在ubuntu 13.04中的/ usr / lib64下。但我会用boost m4 让autotool自动处理这些依赖项。因此,通过在configure.in中包含boost m4,您可以指定所需的boost模块和版本。此外,它还可以为您找到所需的路径。
答案 1 :(得分:0)
有时候这是不可能的,尤其是对于较小的应用和自定义项目, 对于未来,boost包含在/ usr / include / boost中, 当然这取决于系统类型和分布