Заменить путь поиска заголовка по умолчанию

В настоящее время я пытаюсь заставить программу компилировать в системе, которую я не контролирую.

Моя проблема заключается в том, что каталоги include выглядят следующим образом:

/usr/include:
gmpxx.h gmp.h

/usr/local/include:
gmp.h

В моем файле cpp я использую

#include <gmpxx.h>

, и он находит правильный файл в / usr / include , однако когда gmpxx.h включает gmp.h, он извлекает его из / usr / local / include , что прерывает сборку.

Прямо сейчас я вижу 3 очень уродливых решения проблемы

  1. В моем файле cpp добавьте #include
    Наличие абсолютного пути включения довольно уродливо и непереносимый, и я думаю, что такие вещи должны принадлежать Makefile, а не источнику.

  2. добавить флаг -nostdinc в мой make-файл и вручную указать пути включения

  3. создать локальные символические ссылки на библиотеки, которые мне действительно нужны, а затем выполнить локальное включение ( #include "gmp.h" )

Есть ли лучшее решение, которое мне не хватает?

8
задан cobbal 2 November 2011 в 23:12
поделиться