2015-12-25 6 views
4

Работа со встроенными C-проектами. Существуют библиотеки, файлы и т. Д. - для микроконтроллеров. Мне не нужно использовать GCC для хост-машины и ОС (битва Linux 64 бит). Как правило ...Файлы заголовков не найдены GCC

Но теперь я пытаюсь скомпилировать проект mspdebug из Github - с 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. 

Я ищу включает во всех возможных путях (у меня есть список из них с помощью GCC -v команды) - нет assert.h файл, также, как stdio.h и так далее. Кроме каталогов виртуальных ящиков есть только одно место (где GCC не выполняет поиск):/usr/lib/syslinux/com32/include

AFAIK, все стандартные библиотеки и их компоненты устанавливаются вместе с GCC. Поэтому я пытаюсь переустановить GCC (4.8.4) - ничего не меняется.

Каков нормальный способ предоставить GCC всю стандартную среду, в которой он нуждается?

ответ

3

assert.h не является частью gcc, это часть glibc.

Скорее всего, ваш дистрибутив Linux помещает системные заголовки в отдельный пакет, который необходимо установить.

Fedora, например, помещает файлы заголовков в пакет glibc-headers. Тем не менее, вы не можете использовать Fedora, потому что gcc пакет Fedora имеет зависимость от glibc-headers, чтобы убедиться, что он получает тянут в.

распределение

Независимо Linux вы используете, вы должны исследовать, какой дистрибутив пакет будет установлен файлы системных заголовков, с которыми вам нужно строить.

+0

Сэм, я использую Linux Mint 17.2. OK, будет искать этот пакет. Просто было озадачено самой возможностью отдельной установки GCC и стандартных библиотек. Я сообщу результат. Спасибо! – drvlas

2

Благодаря правильному направлению, установленному Sam Varshavchik Я нашел информацию in the stackoverflow. Так что я сделал следующее:

1) установлен нароста существенно:

sudo apt-get install build-essential 

2) установлена ​​libusb (так как моя попытка построить пакет показал отсутствие usb.h):

sudo apt-get install libusb-dev 

И все в порядке! Mspdebug (v.023) скомпилирован и успешно протестирован!

Итак, Linux Mint 17.2 (по крайней мере) требует установки некоторых библиотек в GCC, самый простой из которых необходим для сборки.