Я пытаюсь построить большой проект со множеством каталогов и подкаталогов, некоторые из которых используются для создания разных библиотек.
используя GNU make, используя те же флаги компиляции. большинство папок успешно скомпилировано, но в определенной папке сборка не удалась, и появляется много ошибок, которые отсутствуют в некоторых определениях.
Например, первая ошибка:
В файле, включенном в /usr/include/c++/4.8.2/cwchar:44:0,
из /usr/include/c++/4.8.2/bits/postypes.h:40,
из /usr/include/c++/4.8.2/iosfwd:40,
из /usr/include/c++/4.8.2/memory:72,
...
/ usr / include / wchar.h: 614: 9: ошибка: __ __gnuc_va_list ’не было
объявлен
__gnuc_va_list __arg
)
эта ошибка происходит из простого #include at файлов в этой библиотеке, но такая же ошибка возникает для любого файла и для различных заголовков стандартной библиотеки.
Сильной стороной является то, что этот проект был полностью успешно построен до того, как я получил некоторые обновления из удаленного репозитория. при этом слиянии в этот файл не было внесено никаких изменений
Пытался использовать
g++ -E /usr/include/wchar.h | grep __gnuc_va_list | head -1
результат:
typedef __builtin_va_list __gnuc_va_list;
Как я вижу в этом ответе , __builtin_va_list должен быть создан gcc, и он, вероятно, создал его - в противном случае многие другие файлы не смогли скомпилировать
Я не могу понять, почему это происходит и почему только в этой папке / lib.