在Debian Squeeze上安装liboost-dev会给我提供几个库,例如/usr/lib/libboost_thread.so.1.42.0,但没有libboost_thread.so。现在我无法使用gcc / ld的-l标志进行链接,因为名称不以.so结尾。
我注意到/usr/lib有很多其他形式的库,如libfoo.so.N,没有libfoo.so,所以这不是Boost特有的问题。最终,我手动添加了libboost_thread.so.1和libboost_thread.so符号链接。(ldconfig的man页面建议它会添加链接,但它什么也没做)。
一切都正常工作,但感觉有点不可靠。我应该怎么做呢?
- 使用一些我还没有找到的更具体的链接器选项(以特定版本号为代价,使我的makefile依赖于它)。 - 只需手动添加符号链接(存在破坏软件包管理的风险)。 - 其他Debian“正确”的方法。
我注意到/usr/lib有很多其他形式的库,如libfoo.so.N,没有libfoo.so,所以这不是Boost特有的问题。最终,我手动添加了libboost_thread.so.1和libboost_thread.so符号链接。(ldconfig的man页面建议它会添加链接,但它什么也没做)。
一切都正常工作,但感觉有点不可靠。我应该怎么做呢?
- 使用一些我还没有找到的更具体的链接器选项(以特定版本号为代价,使我的makefile依赖于它)。 - 只需手动添加符号链接(存在破坏软件包管理的风险)。 - 其他Debian“正确”的方法。