自定义提升前缀/命名空间 - 如何使用
custom boost prefix/namspace - how to build with
我需要使用boost lib的自定义构建,它在代码中使用自己的库命名前缀和命名空间。
我需要在CMakeLists.txt
中与它链接:
set(BOOST_INCLUDEDIR /path/to/custom/boost/include)
set(BOOST_LIBRARYDIR /path/to/custom/boost/lib)
set(BOOST_NAMESPACE my_boost_161)
set(Boost_NO_SYSTEM_PATHS OFF)
set (Boost_USE_STATIC_LIBS OFF)
find_package (Boost REQUIRED COMPONENTS my_unit_test_framework)
include_directories (${Boost_INCLUDE_DIRS})
这些库的名称如下:
libmy_boost_161_unit_test_framework.so
并且确实存在于 lib 文件夹中
存在如下错误:
CMake 错误在/home/user1/.localcmake/share/cmake-3.14/Modules/FindBoost.cmake:2132 (消息(:找不到请求的加速库。
加速版本:1.61.0
提升包含路径:
/路径/到/自定义/提升/包含找不到以下加速库:
boost_unit_test_framework
未找到提升库。 您可能需要设置BOOST_LIBRARYDIR 到包含 Boost 库的目录或BOOST_ROOT到 的位置
如何指定查找名称如下的库(my_
标准名称的补充(: 类似于Boost_LIB_VERSION
,它提供了将版本添加到 lib 名称的能力
my_boost_161_unit_test_framework
CMake 脚本的这一新增功能解决了这个问题:
...
set(Boost_NO_SYSTEM_PATHS OFF)
set(Boost_LIB_PREFIX my_boost_161)
set(Boost_NAMESPACE my_boost_161)
set(Boost_USE_STATIC_LIBS OFF)
...
相关文章:
- C++:对不存在的命名空间使用命名空间指令
- 使用命名空间时出现多个定义错误
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 使用命名空间正确编程
- 我该怎么做才能摆脱使用命名空间时的语法错误?
- 有没有办法不使用命名空间中的项?
- 在 C++ 中使用命名空间时出现"does not name a type"错误
- 使用命名空间在另一个".cpp"文件中定义
- 有没有办法在不使用命名空间 std 或前缀 std:: 的情况下引用 cout?
- 声明"使用命名空间 C;"对于证明 [namespace.udir]/3 中的示例中显示的结果至关重
- 在C++中使用命名空间?
- 我们可以使用命名空间实现封装吗?
- C++ 使用命名空间时,模板函数无法使用 g++ 进行编译
- 如何在不使用命名空间标准的情况下取消设置ios::fixed
- 共享库中使用"使用命名空间"定义的符号错误
- 在 decltype 中使用命名空间
- 使用命名空间进行 QT 测试
- 如何解决两个不使用命名空间的第三方库之间的类名冲突?
- 为什么找不到使用命名空间中定义的类型实例化的 std::weak_ptr 的重载运算符==?
- 是`使用命名空间std :: literals的安全