cmake 交叉编译防坑指南

cmake 交叉编译防坑指南

近来用cmake编译arm代码和第三方库遇到一些坑,在这里回顾一下,供大家借鉴。


cmake出现多层嵌套时的交叉编译指令

cmake -DMAKE_TOOLCHAIN_FILE=xxx.cmake .

xxx.cmake内需写明如下内容:

#告知当前使用的是交叉编译方式,必须配置
SET(CMAKE_SYSTEM_NAME Linux)

#指定C交叉编译器,必须配置 
SET(CMAKE_C_COMPILER "/opt/arm-oe-linux-gnueabi/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc")

#指定C++交叉编译器
SET(CMAKE_CXX_COMPILER "/opt/arm-oe-linux-gnueabi/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++")

#CMAKE_SYSROOT只有在3.0以上的版本才有效
SET(CMAKE_SYSROOT "/opt/arm-oe-linux-gnueabi/armv7")
要在Linux上使用CMake进行交叉编译PySide2,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了CMake交叉编译工具链。根据您的目标平台,可能需要安装特定的交叉编译工具链。例如,在交叉编译ARM平台的情况下,您可能需要安装ARM交叉编译工具链。 2. 创建一个用于构建PySide2的目录,并进入该目录: ``` mkdir build cd build ``` 3. 设置交叉编译工具链: ``` export CC=<path_to_cross_compiler> export CXX=<path_to_cross_compiler> ``` 其中,`<path_to_cross_compiler>`是您安装的交叉编译工具链的路径。 4. 使用CMake生成Makefile,并指定交叉编译相关的参数: ``` cmake \ -DCMAKE_SYSTEM_NAME=<target_system_name> \ -DCMAKE_C_COMPILER_WORKS=1 \ -DCMAKE_CXX_COMPILER_WORKS=1 \ -DCMAKE_INSTALL_PREFIX=<install_prefix> \ <path_to_pyside2_source> ``` 其中,`<target_system_name>`是目标系统的名称(如arm-linux-gnueabi),`<install_prefix>`是PySide2安装的目标路径,`<path_to_pyside2_source>`是PySide2源代码的路径。 5. 运行make命令进行交叉编译: ``` make ``` 6. 编译完成后,您可以将生成的库文件和相关文件复制到目标系统上,并在目标系统上进行使用。 请注意,交叉编译可能涉及到更多的配置和设置,具体步骤可能因您的目标平台和工具链而有所不同。确保按照PySide2官方文档提供的指南进行操作,并根据需要进行调整。 如果您遇到任何问题,请随时提问!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值