这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » ROC-RK3566-PC板交叉编译报错咋办

共8条 1/1 1 跳转至

ROC-RK3566-PC板交叉编译报错咋办

工程师
2023-07-15 20:53:54     打赏

问题描述及复现步骤:

命令行直接编译是可以通过的,但是通过CmakeList 编译是 通不过

cmake_minimum_required(VERSION 3.5.1)

project(learn_test)

#告诉CMAKE是进行交叉编译set(CMAKE_CROSSCOMPILING TRUE)#设置此时进行编译的系统set(CMAKE_SYSTEM_NAME "Linux")#指定交叉编译器的路径

set(COMPILER_PATH "/opt/sysroot/firefly-arm64-sysroot-18.04/usr")
set(CMAKE_CXX_COMPILER "${COMPILER_PATH}/bin/aarch64-linux-gnu-g++")

add_executable(learn_test src/test.cpp)

gobot@ubuntu:~/learn_test/build$ make
Scanning dependencies of target learn_test
[ 50%] Building CXX object CMakeFiles/learn_test.dir/src/test.cpp.o
/opt/sysroot/firefly-arm64-sysroot-18.04/usr/bin/aarch64-linux-gnu-g++: 1: /opt/sysroot/firefly-arm64-sysroot-18.04/usr/bin/aarch64-linux-gnu-g++: ELF   E@ c@8: not found
/opt/sysroot/firefly-arm64-sysroot-18.04/usr/bin/aarch64-linux-gnu-g++: 1: /opt/sysroot/firefly-arm64-sysroot-18.04/usr/bin/aarch64-linux-gnu-g++: Syntax error: word unexpected (expecting ")")
CMakeFiles/learn_test.dir/build.make:62: recipe for target 'CMakeFiles/learn_test.dir/src/test.cpp.o' failed
make[2]: *** [CMakeFiles/learn_test.dir/src/test.cpp.o] Error 2
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/learn_test.dir/all' failed
make[1]: *** [CMakeFiles/learn_test.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2





关键词: ROC-RK3566-PC    

助工
2023-07-15 20:54:17     打赏
2楼

/opt/sysroot/firefly-arm64-sysroot-18.04/usr/bin/aarch64-linux-gnu-g++
这个是sysroot里面aarch64自己的g++,不是交叉编译器,你file一下会发现是arm64架构的,在x86上无法运行
交叉编译器自行安装apt install crossbuild-essential-arm64
然后会在电脑的/usr/bin/aarch64-linux-gnu*,你再file一下,这个才是x86架构的


专家
2023-07-16 01:31:17     打赏
3楼

感谢楼主的分享,很实用了。


专家
2023-07-16 01:36:33     打赏
4楼

感谢楼主的分享,很实用了。


专家
2023-07-16 09:18:24     打赏
5楼

感谢楼主的分享


高工
2023-07-16 13:46:54     打赏
6楼

资料不错 啊


菜鸟
2023-07-21 16:53:28     打赏
7楼

帮你顶一下


菜鸟
2023-07-21 17:00:20     打赏
8楼

不错


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]