GCC找不到头文件



使用嵌入式C项目。有库,包括文件等等-用于微控制器。我不需要将GCC用于主机和操作系统(Linux Mint 64位)。按照惯例。。。

但现在我正试图从Github编译mspdbug项目——当然还有GCC。我在制作一开始就犯了一个错误:

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.

我在所有可能的路径中搜索includes(我通过gcc-v命令得到了它们的列表)-没有assert.h文件,也没有stdio.h等等。除了虚拟箱目录,只有一个地方(gcc不搜索includes):/usr/lib/syslinux/com32/include

AFAIK,所有标准libs和includes都与GCC一起安装。所以我尝试重新安装GCC(4.8.4)-没有任何变化。

为GCC提供所需的所有标准环境的正常方式是什么?

多亏了Sam Varshavchik设定的正确方向,我在stackoverflow中找到了信息。所以我做了以下事情:

1) 已安装的基本构建:

sudo apt-get install build-essential

2) 安装了libusb(因为我尝试构建包时发现没有usb.h):

sudo apt-get install libusb-dev

一切都好!mspdug(v.023)已编译并成功测试!

因此,Linux Mint 17.2(至少)需要在GCC中安装一些库,最基本的是构建必需的。

assert.h不是gcc的一部分,而是glibc的一部分。

最有可能的是,您的Linux发行版将系统头放入一个需要安装的单独包中。

例如,Fedora将头文件放在glibc-headers包中。然而,您不能使用Fedora,因为Fedora的gcc包依赖于glibc-headers,以确保它被拉入

无论你使用什么Linux发行版,你都需要研究哪个发行包会安装你需要构建的系统头文件。

相关内容

  • 没有找到相关文章

最新更新