首页 >> 大全

linux cmake交叉编译

2023-12-08 大全 37 作者:考证青年

linux cmake交叉编译

linux cmake交叉编译

linux cmake交叉编译,使用环境:、cmake、gcc-arm-10.2-2020.11---none-linux-gnu。

下载

在ARM官网上下载交叉编译工具连,有几种不同的,名字区别如下:

区别无外乎几个:大端 or 小端、ARMv7 or ARMv8、32位 or 64位、裸机 or 嵌入式Linux

arm-none-eabi :将会带来全新的写作体验;arm-linux-none- :将会带来全新的写作体验;-none-linux-gnu: 测试

用一个hello程序来测试下环境:

hello.c:

#include "stdio.h"int main()
{printf("Hello\n");return 0;
}

.txt:

cmake_minimum_required(VERSION 3.10)
set(CMAKE_SYSTEM_PROCESSOR arm)
SET(CMAKE_SYSTEM_NAME Linux)
set(USER_PATH "/home/work/tools/aarch64-linux-gnu")
SET(CMAKE_C_COMPILER ${USER_PATH}/bin/aarch64-none-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER ${USER_PATH}/bin/aarch64-none-linux-gnu-g++)project(hello)
add_executable(hello hello.c)

set(OR arm)

设置目标环境的处理器类型

SET( Linux)

设置目标环境操作系统

set( “/home/work/tools/-linux-gnu”)

存放下载的交叉编译工具链存放路径

SET( ${}/bin/-none-linux-gnu-gcc)

SET( ${}/bin/-none-linux-gnu-g++)

设置编译器

编译完成后放在到目标机上运行OK

添加依赖

测试添加glut和GL库的交叉编译,添加一个源代码用glut绘制窗口,用GL进行清屏。cmake正常,make时报错:

/home/work/develop/btx_combench/aarch64-compile/bin/../lib/gcc/aarch64-none-linux-gnu/10.2.1/../../../../aarch64-none-linux-gnu/bin/ld: warning: libxcb.so.1, needed by /home/work/develop/btx_combench/aarch64-compile/lib/libX11.so, not found (try using -rpath or -rpath-link)
/home/work/develop/btx_combench/aarch64-compile/bin/../lib/gcc/aarch64-none-linux-gnu/10.2.1/../../../../aarch64-none-linux-gnu/bin/ld: /home/work/develop/btx_combench/aarch64-compile/lib/libXrandr.so: undefined reference to `XMissingExtension'

解决方法:在cmake中添加对应的库X11。这里和本地编译不同,本地编译不需要指定依赖库的依赖库。

需要注意的问题

下载的gcc编译器版本需要和目标机版本一致,否则会报如下错误:

/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了