C++ 使用cmake交叉编译arm和静态链接boost库

C++ 使用cmake交叉编译arm和静态链接boost库,c++,linux,boost,cmake,cross-compiling,C++,Linux,Boost,Cmake,Cross Compiling,我所拥有的: 使用Boost库的C++项目 该项目是使用cmake和链接动态构建的 使用x64的linux机器 带有arm处理器和linux的开发板 我想要的是: 一个CMake项目具有以下功能: x64体系结构的一次构建(用于gtest和本地开发) arm架构的另一个构建 都带有静态链接的boost库 这可能吗?如果可能,如何实现 IMHO的主要问题是告诉cmake,对于第二个构建,它应该使用另一个(这次是arm)预编译的boost库来链接。不知道该怎么做。假设您使用find_pack

我所拥有的:

  • 使用Boost库
  • 的C++项目
  • 该项目是使用cmake和链接动态构建的
  • 使用x64的linux机器
  • 带有arm处理器和linux的开发板
我想要的是:

一个CMake项目具有以下功能:

  • x64体系结构的一次构建(用于gtest和本地开发)
  • arm架构的另一个构建
  • 都带有静态链接的boost库
这可能吗?如果可能,如何实现


IMHO的主要问题是告诉cmake,对于第二个构建,它应该使用另一个(这次是arm)预编译的boost库来链接。不知道该怎么做。

假设您使用
find_package(Boost..)
来搜索和选择Boost组件(您应该这样做),如果我答对了您的问题,您可以在两个不同的目录中构建(您很可能已经这样做了),并在配置之前以不同的方式设置CMake变量Boost_ROOT

您也可以稍后设置Boost_库,以防其他库相等

要让CMake静态链接Boost,只需将Boost\u USE\u STATIC\u LIBS设置为打开