build - CMake交叉编译:如何根据目标架构链接库
问题描述
我是cmake的新手。我想为 x86 和 arm 架构(在 x64 机器上)构建我的项目。我设置了两个工具链文件:x86.cmake和arm.cmake,带有编译器的路径。我的项目使用我自己的预编译库,这些库位于 x86 和 arm 的不同路径中。所以问题是如何根据目标架构链接这些库?
我现在看到的方式是set(CMAKE_SYSTEM_PROCESSOR arm)
在arm.cmake工具链和
x86.cmakeset(CMAKE_SYSTEM_PROCESSOR x86)
工具链中设置的,然后根据这个变量选择正确的库路径。
这是正确的方法吗?
解决方案
通常使用find_library命令搜索链接所需的库。该命令使用了几个可以在工具链文件中设置的提示。例如:
因此,find_library
对于使用的不同工具链,结果可能会有所不同。
推荐阅读
- javascript - 带有附加版本号的 gzip .js 和 .css 文件
- java - 如何在 tess4j 4.1 版中将字符列入白名单。*
- c# - 如何在 JObject 的 StreamReader 中列出所有“项目”?
- hadoop - 如何格式化NameNode?
- spring - Spring/GitHub/Docker - 错误:jarfile 无效或损坏
- python - 清理 Python 输出显示
- swift - 从不同的 ViewController 中删除 NSNotificationObserver
- c# - 获取错误 Menu_HoverStatic 为 null 或未定义,而不是函数对象,同时对菜单项使用 asp.net SiteMap 控件
- python - 找到重复项后的反向处理
- node.js - 如何使用 React Active 将菜单图标放在左上角?