Build CMake交叉编译:如何根据目标体系结构链接库

Build CMake交叉编译:如何根据目标体系结构链接库,build,cmake,cross-compiling,Build,Cmake,Cross Compiling,我是新来的。我想为x86和arm体系结构(在x64机器上)构建我的项目。我设置了两个工具链文件:x86.cmake和arm.cmake,以及到编译器的路径。 我的项目使用我自己的预编译库,这些库位于x86和arm的不同路径中。所以问题是如何根据目标体系结构链接这些库 我现在看到的方式是在arm.CMAKE工具链和 set(CMAKE\u SYSTEM\u PROCESSOR x86)forx86.CMAKE工具链,然后根据此变量选择正确的库路径 这条路对吗 通常使用命令搜索链接所需的库。此命令使

我是新来的。我想为x86和arm体系结构(在x64机器上)构建我的项目。我设置了两个工具链文件:x86.cmakearm.cmake,以及到编译器的路径。 我的项目使用我自己的预编译库,这些库位于x86和arm的不同路径中。所以问题是如何根据目标体系结构链接这些库

我现在看到的方式是在arm.CMAKE工具链和
set(CMAKE\u SYSTEM\u PROCESSOR x86)
forx86.CMAKE工具链,然后根据此变量选择正确的库路径


这条路对吗

通常使用命令搜索链接所需的库。此命令使用几个可以在工具链文件中设置的提示。例如:

  • 变数
  • 变数

因此,对于使用中的不同工具链,
find_library
的结果可能不同。

通常使用命令搜索链接所需的库。此命令使用几个可以在工具链文件中设置的提示。例如:

  • 变数
  • 变数

因此,对于使用中的不同工具链,
find_library
的结果可能不同。

如果我的库位于同一目录中,但名称不同,该怎么办,例如:mylib_x86.so和mylib_arm.so?在这种情况下,您需要检查
CMAKE_SYSTEM_PROCESSOR
变量,如问题帖子第二段所述。如果我的库位于同一目录中,但名称不同,该怎么办,例如:mylib_x86.so和mylib_arm.so?在这种情况下,您需要检查
CMAKE_系统处理器
变量,如问题帖子第二段所述。