我有什么:
- 一个使用boost库的c++项目
- 该项目是使用 cmake 构建的,并且链接是动态 boost 的
- 一台 x64 的 linux 机器
- 带有 arm 处理器和 linux 的开发板
我想要的:
一个 CMake 项目执行以下操作:
- 一个 x64 架构构建(用于 gtest 和本地开发)
- 另一个 arm 架构的构建
- 都带有静态链接的 boost 库
这是否可能,如果可能,如何实现?
恕我直言,主要问题是告诉 cmake,对于第二个构建,它应该使用另一个(这次是 arm)预编译的 boost 库来链接。不知道该怎么做。
最佳答案
假设您使用 find_package(Boost ..)
来搜索和选择 boost 组件(正如您应该做的那样),如果我答对了您的问题,您只需在两个不同的目录中构建(就像您最喜欢的那样)可能已经这样做了)并在配置之前以不同方式设置 CMake 变量BOOST_ROOT。
您也可以稍后设置 Boost_LIBRARIES,以防其余部分相等。
要告诉 CMake 静态链接 Boost,只需将 Boost_USE_STATIC_LIBS 设置为 ON。
关于c++ - 使用 cmake for arm 与静态链接的 boost 库交叉编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20816208/