2013-03-06 5 views
1

Я пытаюсь перекрестно скомпилировать плату arm7 с помощью инструментальной цепочки на x86-64 Ubuntu. Заголовки мне нужны, в файловой системе здесь:Кросс-компиляция приложения и gcc с использованием заголовков неправильных заголовков

.../include/<libdir1> 
.../include/<libdir2> 
[more] 
.../include/<libdirN> 

но .../включает каталог содержит несовместимые стандартные заголовки (по причинам, я не могу контролировать). Использование опции -I заставляет gcc использовать эти несовместимые стандартные заголовки, а не те, которые ему нужны. Включение всех совместимых стандартных путей заголовков с параметрами -I до этого также не работает.

Я хочу использовать те же пути источника для того, когда я компиляции изначально, а также для ARM7 платы:

#include <libdir1/lib1.h> 
#include <libdir2/lib2.h> 
... 
#include <libdirN/libN.h> 

Есть ли способ сделать это с помощью файловой системы, как она существует в настоящее время, или я нужно скопировать файлы lib1, lib2, ... libN в другом месте?

ответ

1

Вы можете использовать -iquote вариант для этого:

Добавить в реж каталог в начало списка каталогов для поиска заголовочных файлов только для случая #include "file"'; they are not searched for #include», в противном случае так же, как -Я.

Таким образом, вы бы включать пользовательские заголовки с "" стиля включает в себя директиву:

#include "libdir1/lib1.h" 
#include "libdir2/lib2.h" 

Но стандартные заголовки с <> стилем:

#include <stdlib.h> 

, а затем добавить в каталог с -iquote, а не -I:

-iquote../include 
Смежные вопросы