gpt4 book ai didi

c++ - Linux系统调用+交叉编译

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:16 25 4
gpt4 key购买 nike

我必须使用自定义 Linux 内核中的一些系统调用。该项目在主机系统上交叉编译,然后在目标板上运行。问题是 - 主机系统没有实现这些系统调用。我有编译错误:

错误:在此范围系统调用中未声明“BSP_SYS_read_new_data”(BSP_SYS_read_new_data, LEFT, m_buffer.get(), m_buffer_size);

我可以使用类似的东西:

#define BSP_SYS_read_new_data <xxx>

来自目标系统内核源的 syscall.tbl。我走对了吗?

最佳答案

系统调用头文件是通过在内核源代码 .tbl 上运行 grep 脚本生成的。如果您没有头文件,您可以自己运行脚本。如果您有适合目标系统的头文件,则需要以某种方式安排这些头文件优先用于此构建,而不是构建主机的拷贝。理论上,您应该用目标版本替换所有/usr/include/x86_64-linux-gnu (或主机使用的任何内容),该版本应该是 1 个构建路径条目。

关于c++ - Linux系统调用+交叉编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48327437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com