drv*_*las 5 linux gcc include-path c-standard-library
使用嵌入式 C 项目。有库,包含文件等 - 用于微控制器。我不需要为主机和操作系统(Linux Mint 64 位)使用 GCC。按照惯例...
但是现在我正在尝试从 Github编译mspdebug项目——当然是使用 GCC。我在 make 一开始就收到一个错误:
mspdebug$ make
cc -DUSE_READLINE -O1 -Wall -Wno-char-subscripts -ggdb -I. -Isimio -Iformats -Itransport -Idrivers -Iutil -Iui -DLIB_DIR=\"/usr/local/lib/\" -o util/btree.o -c util/btree.c
util/btree.c:19:20: fatal error: assert.h: No such file or directory
#include <assert.h>
^
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
我在所有可能的路径中搜索包含(我通过 gcc -v 命令获得了它们的列表) - 没有 assert.h 文件,以及 stdio.h 等等。除了虚拟框目录只有一个地方(GCC 不搜索包含的地方):/usr/lib/syslinux/com32/include
AFAIK,所有标准库和包含都与 GCC 一起安装。所以我尝试重新安装 GCC (4.8.4) - 没有任何变化。
为 GCC 提供所需的所有标准环境的正常方法是什么?
assert.h不是 的一部分gcc,而是 的一部分glibc。
最有可能的是,您的 Linux 发行版将系统标头放入您需要安装的单独包中。
例如,Fedora 将头文件放在glibc-headers包中。但是,您不能使用 Fedora,因为 Fedora 的gcc软件包依赖于glibc-headers, 以确保它被拉入。
无论您使用什么 Linux 发行版,您都需要研究哪个发行版包将安装您构建内容所需的系统头文件。