您尚未登录。

楼主 # 2024-06-22 13:01:56

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

使用交叉编译器编译C++文件报错

(4).png
(5).png
<features.h>明明是存在的

编译命令:arm-linux-gnueabihf-g++ -std=c++11 -o gpio gpio.cpp -lgpiod -L/usr/local/lib -I/usr/local/include -I/home/eke/linux/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/7.4.1 --sysroot=/home/eke/linux/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf

-lgpiod: 指定链接的库,这里是 libgpiod。
-L/usr/local/lib: 指定编译器在链接时查找libgpiod库文件的路径为 /usr/local/lib。
-I/usr/local/include: 指定编译器在编译时查找libgpiod头文件的路径为 /usr/local/include。gpiod.h在这个路径下

-I/home/eke/linux/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/7.4.1: 指定编译器在编译时查找 C++ 标准库头文件的路径为 /home/eke/linux/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/7.4.1。
--sysroot=/home/eke/linux/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf: 指定编译器在查找标准系统头文件和库文件时的根路径,即交叉编译环境的根路径。

(6).png
(7).png

具体的错误报告输出:
(8).png
(9).png

求助大佬们,谢谢!

离线

楼主 #1 2024-06-22 13:34:03

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

下面是详细的编译过程:
(10).png
(11).png

离线

楼主 #2 2024-06-22 15:55:12

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

如果在加多一行-I/home/eke/linux/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/7.4.1/parallel去指向<features.h>的路径,交叉编译器就找不到上一级路径/home/eke/linux/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/7.4.1下的头文件。

离线

楼主 #3 2024-06-22 17:32:14

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

应该是编译命令头文件和库文件路径指向错误,有没有大佬指导一下,谢谢!

离线

#4 2024-06-23 13:52:55

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 557
积分: 681
个人网站

Re: 使用交叉编译器编译C++文件报错

脑袋是清醒的么?“-I/usr/local/include ”,交叉编译你include HOST的头文件做什么?

离线

楼主 #5 2024-06-23 18:42:56

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

因为安装了libgpiod。它的gpiod.h头文件就在这个路径下,如果不包含这个路径,就会报找不到这个头文件的错误。@海石生风

离线

楼主 #6 2024-06-24 09:20:56

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

_20240624091735.jpg
git上看到有人也这么设置头文件路径

离线

#7 2024-06-24 09:24:13

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 557
积分: 681
个人网站

Re: 使用交叉编译器编译C++文件报错

有点无语,你把ARM平台的库安装到X86系统?

离线

楼主 #8 2024-06-24 10:11:47

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

(12).png

离线

楼主 #9 2024-06-24 10:19:53

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

(13).png

离线

楼主 #10 2024-06-24 10:22:04

EKE
会员
注册时间: 2023-11-13
已发帖子: 28
积分: 13

Re: 使用交叉编译器编译C++文件报错

因为初学者,正在自己一步一步摸索,如果有什么做不对,请提出也同样谢谢你的指导@海石生风

离线

#11 2024-06-24 17:34:14

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 557
积分: 681
个人网站

Re: 使用交叉编译器编译C++文件报错

建议先找个深入浅出的完整的教程来学习,如果基本概念都有弄清没就摸石头过河,不太好走。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn