GCC / G ++ эквивалент ldconfig -n - PullRequest
2 голосов
/ 25 июля 2011

Когда я создаю свой собственный нестандартный путь для библиотечных файлов (скажем, ~ / lib), я могу запустить ldconfig -n ~/lib, и этот каталог добавляется в список мест, которые ld использует для поиска нестандартных библиотек.

Существует ли аналогичный переключатель для GCC / G ++ (или соответствующего менеджера конфигурации gcc / ++) , относящийся к включаемым каталогам , и если да, то что?Я знаю, что флаг -I будет включать нестандартные каталоги, но я бы предпочел не проходить все мои проекты и добавлять все формы магии в make-файлы, чтобы они работали, - а потом обнаружил, что этиизменения (конечно) не переносимы в любую другую систему, на которой построен этот код (с соавторами и т. д.), поэтому редактирование make-файла на самом деле не вариант ....

Edit: обратите внимание, что мойневежество предполагает, что это решение только для gcc / ++.Однако я рад любому решению, поэтому, если есть метод, который злоупотребляет каким-либо свойством ldconfig или чем-то еще, я не против этого!

Ответы [ 2 ]

2 голосов
/ 25 июля 2011

Как правило, просто сделайте man gcc. Вам понадобится флаг -L <path>, если вы хотите изменить Makefiles. Также есть решение, подобное ldconfig - использовать LIBRARY_PATH env. переменная.

Аналогично, есть CPLUS_INCLUDE_PATH и C_INCLUDE_PATH и CPATH, которые объявляют список каталогов для поиска файлов заголовков.

0 голосов
/ 25 июля 2011

Я не думаю, что вы можете сделать это с include файлами, кроме изменения исходного кода gcc / g ++ и перекомпиляции.

Лучшая альтернатива - добавить alias к вашей среде (если вы используете bash), например:

alias gcc="gcc -Idir1 -Idir2 -Idir3"
alias g++="g++ -Idir1 -Idir2 -Idir3"

или создание специального сценария.

...