使用嵌入式C项目。有用于微控制器的库,包括文件等。我不需要将GCC用于主机和操作系统(Linux Mint 64位)。通常......
但是现在我试图从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.
我在所有可能的路径中搜索包含(我通过gcc -v命令得到了它们的列表) - 没有assert.h文件,也没有stdio.h等等。除了虚拟框目录,只有一个地方(GCC不搜索包括):/ usr / lib / syslinux / com32 / include
AFAIK,所有标准库和包含都随GCC一起安装。所以我尝试重新安装GCC(4.8.4) - 没有任何改变。
为GCC提供所需的所有标准环境的正常方法是什么?
答案 0 :(得分:3)
null = myvar
不是assert.h
的一部分,它是gcc
的一部分。
最有可能的是,您的Linux发行版会将系统标头放入您需要安装的单独软件包中。
例如,Fedora将头文件放在glibc
包中。但是,你不能使用Fedora,因为Fedora的glibc-headers
包依赖于gcc
,以确保它被拉入。
无论您使用的Linux发行版是什么,您都需要研究哪个发行包将安装构建内容所需的系统头文件。
答案 1 :(得分:2)
由于Sam Varshavchik设置了正确的方向,我找到了信息in the stackoverflow。所以我做了以下事情:
1)安装了build-essential:
sudo apt-get install build-essential
2)安装了libusb(因为我尝试构建包,显示缺少usb.h):
sudo apt-get install libusb-dev
没关系! mspdebug(v.023)已编译并成功测试!
因此,Linux Mint 17.2(至少)需要在GCC中安装一些库,最基本的是构建必需的。