Как постоянно добавлять каталоги в GCC, включая путь поиска? - PullRequest
2 голосов
/ 31 марта 2011

Я использую OSX 10.6.6.Я установил Apples GCC - версия 4.2.1.Я пишу себе симпатичную библиотеку - вещи для отладки, алгоритмы хранения данных и тому подобное.Я сохранил все заголовки и файлы .c в милой маленькой папке mylib в моей папке C.Я хотел бы добавить эту папку в путь поиска GCC, чтобы я мог набрать, скажем,

/* ... */

    #include <mylib/debug.h>

/* ... */

и заставить ее работать идеально.Как я могу либо добавить / Users / Henry / coding_stuff / c / include / mylib в путь поиска GCC, либо иметь ссылку на папку в / usr / include?Я бы не хотел заменять / usr / include / mylib на тот, что находится в моей папке C, каждый раз, когда я делаю тривиальное изменение.Итак, как это можно сделать?

Ответы [ 4 ]

2 голосов
/ 31 марта 2011

Будет работать символическая ссылка:

sudo ln -s /Users/Henry/coding_stuff/c/include/mylib /usr/include/mylib

Более традиционный способ решения этой проблемы - использовать флаг компилятора -I для добавления пути поиска:

gcc -I /Users/Henry/coding_stuff/c/include/mylib -c -o example.o example.c
0 голосов
/ 24 ноября 2014

Я использую Ubuntu14.04 и gcc.

gcc добавляет C_INCLUDE_PATH в список поисковых каталогов. Вы можете использовать опцию -v, чтобы увидеть, где на самом деле ищет gcc. (INCLUDE_PATH у меня не работает.)

Итак, вы можете добавить следующее к .bashrc:

export C_INCLUDE_PATH=/Users/Henry/coding_stuff/c/include/mylib

Я нашел официальную документацию: https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html

0 голосов
/ 31 марта 2011

Добавить к вашему .bashrc:

export INCLUDE_PATH=/Users/Henry/coding_stuff/c/include/mylib
0 голосов
/ 31 марта 2011

Вам необходимо установить переменную среды LD_LIBRARY_PATH равной пути. Скорее всего в вашем .bashrc.

export LD_LIBRARY_PATH=/path/to/libs

Извините, это должно быть LIBRARY_PATH для сборки; LD_LIBRARY_PATH - для связывания библиотеки времени выполнения.

export LIBRARY_PATH=/path/to/libs
...