MacPorts устанавливает заголовки C / C ++ в каталог / opt / local / include, который не является системным по умолчанию. Это означает, что вы должны явно указать GCC, где искать заголовки, которые вы используете. Вы можете сделать это, указав параметры командной строки "-isystem" или "-I":
-системный каталог
Поиск в каталоге для заголовочных файлов после всех указанных каталогов
по-я, но до стандартной системы
каталоги. Пометить это как систему
каталог, так что он получает ту же специальную обработку, что и
применяется к стандартной системе
каталоги. Если dir начинается с "=",
затем
символ «=» будет заменен префиксом sysroot; увидеть --sysroot и
-isysroot.
-Idir
Добавьте каталог dir в начало списка каталогов в
искать заголовочные файлы. это
может использоваться для переопределения системы
заголовочный файл, заменяющий вашу собственную версию, так как эти
каталоги ищутся до
системные каталоги заголовочных файлов.
Тем не мение,
Вы не должны использовать эту опцию для добавления каталогов, которые содержат
предоставленные поставщиком системные заголовочные файлы
(используйте -isystem для этого). если ты
использовать более одной опции -I, каталоги сканируются в
порядок слева направо; стандарт
системные каталоги идут после.
Если стандартная система включает каталог или каталог
указывается с -isystem, также
указывается с -I, опция -I будет
быть
игнорируются. Каталог будет по-прежнему искать, но как система
каталог в его нормальном положении в
Система включает в себя цепочку. Это
чтобы убедиться, что процедура GCC для исправления ошибок системы заголовков
и порядок для include_next
Директива не случайно
изменилось. Если вам действительно нужно изменить порядок поиска для
системные каталоги, используйте -nostdinc
и / или опции -isystem.
Я рекомендую использовать -isystem, потому что она отключает некоторые предупреждения, которые вы не можете исправить без изменения кода. Например, используя std :: auto_ptr, если вы компилируете свой код с -std = c ++ 0x и так далее.
То же самое относится и к библиотекам. Вы должны указать GCC, где их найти, используя опцию -L.