2014-03-20 4 views
0

Я на платформе Ubuntu 13.04 32, и я пытаюсь скомпилировать "birdie" с исходного кода. я получаю следующее сообщение об ошибке:Как я могу использовать определенную библиотеку во время компиляции?

/birdie/build/src/main.c:98:46: error: too few arguments to function 'g_option_context_add_main_entries' 
In file included from /usr/local/include/glib-2.0/glib.h:66:0, 
      from /home/***/Desktop/birdie/build/src/main.c:20: 
/usr/local/include/glib-2.0/glib/goption.h:337:17: note: declared here 

У меня libglib2.0-dev 2.36.3 установлен из репозитория и glib-2.38.2 установлен от источника. Они установлены на разных путях, например один на /usr/lib, а другой на /usr/local/lib

Мой вопрос в том, как я могу использовать одну библиотеку вместо старой в другом пути и отключить ее?

ответ

1

Это возможно с использованием аргументов, переданных gcc во время компиляции.

По умолчанию выполняется поиск всех каталогов default path, и если есть совпадение, то используются libraries. Чтобы переопределить поведение, вы можете дополнительно указать directories для поиска до default path.

gcc <your-file.c> -o <object-file> -I<additional directory to be searched> -L<linking path> 

В вашем случае, это должно быть

CFLAGS=-I/usr/local/lib -L/usr/local/lib 

, а затем передать выше CFLAGS компилятору.

+0

Благодарим вас за ответ. Можно ли установить 'CFLAGS' как' CFLAGS = -I/usr/local/lib -L/usr/local/lib make' из терминала или мне нужно добавить его в make-файл? – kenn

+0

вам придется отредактировать 'CFLAGS', используемые в файле make. добавьте их в последнюю очередь. –

+0

Также, если вы найдете ответ полезным и нашли свой ответ, отметьте его как ответ. :) –

Смежные вопросы