G++ работает, но g++-14 выдает много ошибок в macOSC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 G++ работает, но g++-14 выдает много ошибок в macOS

Сообщение Anonymous »

Я хочу запустить g++-14, который я установил с помощью Brew install gcc, чтобы использовать самую последнюю версию C++, но после установки я получаю множество ошибок при попытке скомпилировать код.< /p>
Все ошибки слишком длинные, чтобы их сюда копировать, но последние несколько
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/malloc/_malloc_type.h:66:1: error: '__API_UNAVAILABLE3' does not name a type
66 | _MALLOC_TYPE_AVAILABILITY void *malloc_type_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size, malloc_type_id_t type_id) __result_use_check __alloc_size(3);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/stdlib.h:182:1: error: expected unqualified-id before numeric constant
182 | __API_AVAILABLE(macos(10.0)) __IOS_PROHIBITED
| ^~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/stdlib.h:220:56: error: expected initializer before '__API_AVAILABLE2'
220 | int ptsname_r(int fildes, char *buffer, size_t buflen) __API_AVAILABLE(macos(10.13.4), ios(11.3), tvos(11.3), watchos(4.3));
| ^~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/stdlib.h:351:9: error: expected initializer before '__API_AVAILABLE2'
351 | __API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), watchos(6.0));
| ^~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/stdlib.h:359:9: error: expected initializer before '__API_AVAILABLE2'
359 | __API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0));
| ^~~~~~~~~~~~~~~
/usr/local/Cellar/gcc/14.1.0/include/c++/14/cstdlib:173:11: error: 'system' has not been declared in '::'
173 | using ::system;
| ^~~~~~

Кто-то спросил, что такое первые несколько ошибок. Я думаю, что они обрезаются в терминале (я не могу прокрутить до написанной мной команды g++-14), но первые несколько, которые все еще отображаются,
/usr/local/Cellar/gcc/14.1.0/lib/gcc/current/gcc/x86_64-apple-darwin23/14/include-fixed/AvailabilityInternal.h:254:13: note: macro "__API_AVAILABLE0" defined here
254 | #define __API_AVAILABLE0(arg0) __API_A(arg0)
| ^~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/pthread.h:358:38: error: macro "__API_AVAILABLE0" passed 2 arguments, but takes just 1
358 | __API_AVAILABLE(macos(10.4), ios(2.0))
| ^
/usr/local/Cellar/gcc/14.1.0/lib/gcc/current/gcc/x86_64-apple-darwin23/14/include-fixed/AvailabilityInternal.h:254:13: note: macro "__API_AVAILABLE0" defined here
254 | #define __API_AVAILABLE0(arg0) __API_A(arg0)
| ^~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/pthread.h:361:38: error: macro "__API_AVAILABLE0" passed 2 arguments, but takes just 1
361 | __API_AVAILABLE(macos(10.4), ios(2.0))

Выполнение g++-14 --version выводит следующее
g++-14 (Homebrew GCC 14.1.0) 14.1.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Изменить:
Я думал, что в программе абсолютного минимума произойдет ошибка, но, похоже, это проблема с #include
Конкретно ошибки этой программы:
#include

int main() {}


Подробнее здесь: https://stackoverflow.com/questions/784 ... s-on-macos
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»