/home/txp/petalinux/2022.1/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-g++ -c -Iinclude -I../UsageEnvironment/include -I../groupsock/include -I/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -DBSD=1 Media.cpp cc1plus: warning: include location "/usr/local/include" is unsafe for cross-compilation [-Wpoison-system-directories] In file included from ../UsageEnvironment/include/UsageEnvironment.hh:28, from include/Media.hh:33, from Media.cpp:21: ../groupsock/include/NetCommon.h:94:10: fatal error: sys/types.h: No such file or directory 94 | #include <sys/types.h> | ^~~~~~~~~~~~~
时间: 2023-08-22 20:09:36 浏览: 203
Linux 内核源码剖析- TCP.IP 实现 下册
4星 · 用户满意度95%
根据错误提示,编译器找不到 sys/types.h 文件,可能是因为交叉编译环境缺少相关的头文件和库文件。
解决这个问题的方法是在交叉编译环境中安装缺少的库文件和头文件。具体方法如下:
1. 在宿主机上下载对应版本的交叉编译工具链,并将其解压到某个目录下。
2. 进入解压后的工具链目录,使用如下命令安装必要的库文件和头文件:
```
sudo apt-get install libc6-arm64-cross
sudo apt-get install libc6-dev-arm64-cross
sudo apt-get install libstdc++-arm64-cross
sudo apt-get install libstdc++6-arm64-cross
sudo apt-get install libgcc-9-dev-arm64-cross
sudo apt-get install linux-libc-dev-arm64-cross
```
3. 如果还有其他头文件或库文件缺失,可以使用相应的 apt-get 命令进行安装。
4. 然后重新编译程序,看是否能够顺利通过。
如果还有其他问题,可以根据错误提示进行排查和解决。
阅读全文