linux cmake交叉编译

阅读: 评论:0

linux cmake交叉编译

linux cmake交叉编译

linux cmake交叉编译

  • linux cmake交叉编译
    • 下载
    • 测试
    • 添加依赖库
      • 需要注意的问题

linux cmake交叉编译

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

下载

www.linaro
在ARM官网上下载交叉编译工具连,有几种不同的,名字区别如下:
区别无外乎几个:大端 or 小端、ARMv7 or ARMv8、32位 or 64位、裸机 or 嵌入式Linux
=distribute.-l&depth_1-utm_source=distribute.-l

  1. arm-none-eabi :将会带来全新的写作体验;
  2. arm-linux-none-gnueabihf :将会带来全新的写作体验;
  3. aarch64_be-none-linux-gnu

测试

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

#include "stdio.h"int main()
{printf("Hellon");return 0;
}
<:

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(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++)
设置编译器
编译完成后放在到目标机上运行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中link_libraries添加对应的库X11。这里和本地编译不同,本地编译不需要指定依赖库的依赖库。

需要注意的问题

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

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

本文发布于:2024-02-04 07:09:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170701811753471.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:linux   cmake
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23