问题描述
我试图在运行Ubuntu 18.04,内核5.4.0-52-generic的嵌入式Linux系统上使用CAN J1939标准。
This elinux page表示j1939.h“自v5.4起进入主线内核”。 kernel.org's documentation for j1939暗示它在主内核中。
最后,我确实安装了can-utils。
当我使用#include <linux/can/j1939.h>
编译cpp文件时,出现no such file or directory
错误。
我已经通过linux/can
目录进行确认,并且j1939.h
不存在。有什么理由导致我的v5.4内核没有j1939.h
?如何在程序中最好使用j1939.h
?
解决方法
您需要这些标头的开发包。您可以在Ubuntu软件包站点上搜索所需的软件包。即在这种情况下, packages containing j1939.h。您可能正在寻找linux-libc-dev
或linux-headers-5.4.0-26
。