EDIT2: проблема была НЕ простой типографской ошибкой. Я сделал опечатку в журналах ниже, что я исправил, но проблема все еще была.
EDIT: я ошибочно работал с gcc вместо g++, один раз, после попытки ниже. Проблема была там раньше с g++, и она есть сейчас.
В настоящее время я нахожусь в коробке MacOS High Sierra. Недавно я переместил много файлов с MacBook Air на эту машину, включая то, что, как я полагаю, был весь Xcode-мусором. Теперь, когда я пытаюсь скомпилировать очень простую программу на С++:
#include <iostream>
int main()
{
// VAR_DEC
int a = 4;
// VAR_MANIP
a = a*2;
// VAR_PRINT
std::cout << a << std::endl;
return 0;
}
Я получаю следующую нелепую ошибку:
[email protected]: [config_file_script] $ g++ test.cpp -o test
In file included from test.cpp:1:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/iostream:38:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/ios:216:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/__locale:15:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string:470:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string_view:171:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/__string:56:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/algorithm:640:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/memory:629:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/typeinfo:61:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/exception:82:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/cstdlib:86:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/stdlib.h:94:
In file included from /usr/include/stdlib.h:65:
In file included from /usr/include/sys/wait.h:110:
/usr/include/sys/resource.h:196:2: error: unknown type name 'uint8_t'
uint8_t ri_uuid[16];
^
/usr/include/sys/resource.h:197:2: error: unknown type name 'uint64_t'
uint64_t ri_user_time;
^
/usr/include/sys/resource.h:198:2: error: unknown type name 'uint64_t'
uint64_t ri_system_time;
^
/usr/include/sys/resource.h:199:2: error: unknown type name 'uint64_t'
uint64_t ri_pkg_idle_wkups;
^
/usr/include/sys/resource.h:200:2: error: unknown type name 'uint64_t'
uint64_t ri_interrupt_wkups;
^
/usr/include/sys/resource.h:201:2: error: unknown type name 'uint64_t'
uint64_t ri_pageins;
^
/usr/include/sys/resource.h:202:2: error: unknown type name 'uint64_t'
uint64_t ri_wired_size;
^
/usr/include/sys/resource.h:203:2: error: unknown type name 'uint64_t'
uint64_t ri_resident_size;
^
/usr/include/sys/resource.h:204:2: error: unknown type name 'uint64_t'
uint64_t ri_phys_footprint;
^
/usr/include/sys/resource.h:205:2: error: unknown type name 'uint64_t'
uint64_t ri_proc_start_abstime;
^
/usr/include/sys/resource.h:206:2: error: unknown type name 'uint64_t'
uint64_t ri_proc_exit_abstime;
^
/usr/include/sys/resource.h:210:2: error: unknown type name 'uint8_t'
uint8_t ri_uuid[16];
^
/usr/include/sys/resource.h:211:2: error: unknown type name 'uint64_t'
uint64_t ri_user_time;
^
/usr/include/sys/resource.h:212:2: error: unknown type name 'uint64_t'
uint64_t ri_system_time;
^
/usr/include/sys/resource.h:213:2: error: unknown type name 'uint64_t'
uint64_t ri_pkg_idle_wkups;
^
/usr/include/sys/resource.h:214:2: error: unknown type name 'uint64_t'
uint64_t ri_interrupt_wkups;
^
/usr/include/sys/resource.h:215:2: error: unknown type name 'uint64_t'
uint64_t ri_pageins;
^
/usr/include/sys/resource.h:216:2: error: unknown type name 'uint64_t'
uint64_t ri_wired_size;
^
/usr/include/sys/resource.h:217:2: error: unknown type name 'uint64_t'
uint64_t ri_resident_size;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Я попытался установить и переустановить все, что мог подумать о проблеме, например gcc
, g++
, cc
, brew
, Xcode, command-line-tools
и т.д. Я также пробовал все предложения на следующих страницах:
- Неизвестное имя типа uint8_t?
- Включить путь поиска в Mac OS X Yosemite 10.10.1
- Cythonizing не удается из-за неизвестного имени типа 'uint64_t'
- неизвестное имя типа 'uint8_t', MinGW
- JT Bullitt очень подробный блог
и многое другое, но это очень хорошо. Ни одно из решений не сработало.
Я думаю, что последний вариант имеет наиболее вероятное решение. (Если вы ищете "неизвестный" на странице, вы увидите исправление.) По словам разработчика:
Исправить: удалите /opt/local/include/ ** и/opt/local/lib/** из настроек сборки "Header Search Paths". Замените их более конкретными путями в нужные каталоги include. В моем конкретном случае это означало замену их на /opt/local/include/glib -2.0/opt/local/lib/glib-2.0/include/opt/local/include/. Это снова и снова!
Однако я не установил Xcode, я только установил инструменты для разработки командной строки. Поэтому у меня нет простого способа доступа к настройкам сборки "Header Search Paths", и поэтому я не могу попробовать его решение.
Я ищу решение этой проблемы, желательно тот, который не требует установки всей ОС. В качестве альтернативы, если кто-то может любезно провести меня через поиск файла настроек сборки, я был бы очень благодарен.