Ответ 1
Используйте -I /opt/local/include
в командной строке или C_INCLUDE_PATH=/opt/local/include
в среде.
У меня возникли проблемы с установкой зависимости для программы, которая сама зависит от pcre.h. У меня это установлено в /opt/local/include, но компилятор C его не видит и тем самым дает мне:
error: pcre.h: Нет такого файла или каталога
Я подтвердил это, написав приветственную программу мира, которая пытается ее включить:
#include <pcre.h>
#include <stdio.h>
int main(void)
{
printf("hello, world\n");
return 0;
}
Это также дает ошибку, если я не укажу путь как </opt/local/include/pcre.h>
.
Я хотел бы, чтобы компилятор C обнаружил это по умолчанию, но я не знаю, где это настроено. Завершение табуляции не выявило каких-либо переменных среды HEADER_PATH
, и я не могу найти ничего подобного, что не относится к XCode. Тем не менее, я использую Mac OSX Snow Leopard со случайностью, которая имеет значение.
Используйте -I /opt/local/include
в командной строке или C_INCLUDE_PATH=/opt/local/include
в среде.
Используйте утилиту pcre-config
для получения правильных флагов:
$ pcre-config --libs --cflags
-L/opt/local/lib -lpcre
-I/opt/local/include
Если вы компилируете через командную строку,
$ gcc -Wall -g `pcre-config --libs --cflags` main.c