компиляция gcc без использования системных заголовков - PullRequest
1 голос
/ 13 апреля 2010

Я пытаюсь скомпилировать класс c ++, используя gcc. Из-за особенностей сборки мне нужно вызывать gcc из нестандартного местоположения и включать не определенные системой заголовки, только чтобы добавить набор из другого местоположения. Однако, когда я делаю это, я сталкиваюсь с проблемой, когда я не могу найти некоторые базовые символы (неожиданный сюрприз). Поэтому я в основном запускаю эту команду для компиляции моего кода:

-->(PARENT_DIR)/usr/bin/gcc # invoke compiler
-B$(PARENT_DIR)/usr/lib64/gcc/suselinux-x8664 
-B$(PARENT_DIR)/usr/lib64 
 #C/C++ flags
-fPIC -fvisibility=default -g -c -Wall -m64 -nostdinc
 # source files
-I$(SRC_DIR_ONE)/ 
-I$(SRC_DIR_TWO)
-I../include 
 # 'Mock' include the system header files
-I$(PARENT_DIR)/usr/include/c++/$(GCC_VERSION) 
-I$(PARENT_DIR)/usr/include/c++/$(GCC_VERSION)/backward 
-I$(PARENT_DIR)/usr/include/c++/$(GCC_VERSION)/x86_64-suse-linux 
-I$(PARENT_DIR)/usr/lib64/x86_64-suse-linux/$(GCC_VERSION)/include 
-I$(PARENT_DIR)/usr/lib64/gcc/x86_64-suse-linux/$(GCC_VERSION)/include 
-I$(PARENT_DIR)/usr/lib64/gcc/x86_64-suse-linux/$(GCC_VERSION)/include-fixed 
-I$(PARENT_DIR)/usr/src/linux/include 
-I$(PARENT_DIR)/usr/x86_64-suse-linux/include 
-I$(PARENT_DIR)/usr/include/suselinux-x8664 
-I$(PARENT_DIR)/usr/suselinux-x8664/include 
-I$(PARENT_DIR)/usr/include 
-I$(PARENT_DIR)/usr/include/linux 
file.cpp

Я получаю несколько ошибок, которые указывают, что базовые заголовки не включены: например:

$ (PARENT_DIR) / usr / include / c ++ / $ (GCC_VERSION) / cstddef :: prtdiff_t не было объявлено $ (PARENT_DIR) / usr / include / c ++ / $ (GCC_VERSION) / cstddef :: size_t не был объявлен.

Есть ли что-то, что я делаю неправильно, когда я включаю каталоги заголовочных файлов? Или я смотрю не в том месте?

1 Ответ

3 голосов
/ 13 апреля 2010

Возможно, поможет --sysroot arg, см. gcc docs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...