Как добавить каталог в C заголовок пути включения? - PullRequest
11 голосов
/ 28 января 2011

У меня проблемы с установкой зависимости для программы, которая сама зависит от pcre.h. Я установил это в / opt / local / include, но компилятор C не видит его и, таким образом, дает мне:

ошибка: pcre.h: нет такого файла или каталога

Я подтвердил это, написав программу hello world, которая пытается включить ее:

#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 по случайности, которая имеет значение.

Ответы [ 2 ]

25 голосов
/ 28 января 2011

Используйте -I /opt/local/include в командной строке или C_INCLUDE_PATH=/opt/local/include в среде.

5 голосов
/ 28 января 2011

Используйте утилиту pcre-config для получения правильных флагов:

$ pcre-config --libs --cflags
-L/opt/local/lib -lpcre
-I/opt/local/include

Если вы компилируете через командную строку,

$ gcc -Wall -g `pcre-config --libs --cflags` main.c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...