使用boost编译以使用可用的boost版本
Compile with boost to use whatever boost version is available?
我在ubuntu 12.04上编译了一个Linux包,它使用boost,在这个系统上我有boost 1.46。我试图在另一个系统上运行编译后的版本,它抱怨它找不到libboostrongystem.so.1.46.1。该系统安装了boost 1.49。如何进行编译,使程序使用现有的引导版本,而不是开发机器上的特定版本。
你不能指望你的程序能在不同版本的库中工作。
有/不同的/版本这一事实意味着它们/不相同。
如前所述,要么
- 静态链接到您的特定版本,或
- 你可以发布共享库(只要你把它们放在应用程序特定的位置,并确保在运行时找到它们)。顺便说一下,请参阅这里的第二个示例:如何为相关的链接器选项编译boost async_client.cpp以使用自定义库(它假设在运行时使用相同的位置(
rpath
) )
相关文章:
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- yum :在 CentOS 上使用 Boost 1.69 而不是默认 (1.53) 版本
- C++,自使用boost和std::chrono的纪元以来的时间?为什么 Boost 版本慢 10 倍?
- 如何创建一个版本的 boost::range::transform,该版本具有用于捕获上下文的额外参数
- BOOST :: MUTEX版本与调试构建
- 切换到更高的 Boost 版本 1.6.1 时出现编译错误
- CMake错误:导入的目标不适用于Boost版本106300
- 如何根据Boost版本有选择性地包括Boost标头
- 如何使用Boost Ptree来解析像中国人这样的宽字节字符串?Boost版本是Boost_1_64_0
- 外部库Boost版本问题
- 在安装了两个不同 Boost 版本的系统上编译C++代码
- 我应该将哪个 Boost 版本与支持 C++03 的编译器一起使用
- 不能在非 Boost 版本的 Asio 中使用 asio::p laceholders::error
- 更新依赖于 Boost 库的库的 Boost 版本,而无需重新链接
- boost 版本 1.54 boost::filesystem::d irectory_iterator, 尝试使用is
- 如何在 RHEL 上为新的 Boost 版本构建/部署 RPM
- Ubuntu trust上的Boost版本至少为1.56
- 由于删除了函数,不同的boost版本导致boost/core/ref.hpp失败
- Static_cast_tag()在最新boost版本中的替代品
- 使用boost编译以使用可用的boost版本