В моем дистрибутиве Fedora 42 я пытаюсь использовать homebrew для установки определенной версии gcc для использования в моем проекте C++. Однако я обнаружил, что самодельные установки gcc завершаются сбоем при определенных вызовах библиотеки std, чего не происходит в версии gcc для Fedora.
Например, при использовании общих указателей
// main.cpp
#include
int main()
{
std::shared_ptr number = std::make_shared(7);
}
и компилируем с помощью RH/Fedora GCC,
sudo dnf install gcc # GCC (Red Hat 15.2.1-5)
g++ main.cpp -o main
это работает так, как ожидалось. Но делаем то же самое с соответствующей домашней версией
brew install gcc@15 # (Homebrew GCC 15.2.0)
g++-15 main.cpp -o main
выдает следующую ошибку:
In file included from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/x86_64-pc-linux-gnu/bits/gthr-default.h:35,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/x86_64-pc-linux-gnu/bits/gthr.h:157,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/ext/atomicity.h:37,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/bits/shared_ptr_base.h:61,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/bits/shared_ptr.h:53,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/memory:82,
from main1.cpp:1:
/home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/ext/concurrence.h:257:32: error: cannot convert '
' to 'unsigned int' in initialization
257 | __gthread_cond_t _M_cond = __GTHREAD_COND_INIT;
| ^~~~~~~~~~~~~~~~~~~
Подробнее здесь: https://stackoverflow.com/questions/798 ... td-library
Gcc, установленный из доморощенного продукта, похоже, не работает в стандартной библиотеке ⇐ C++
Программы на C++. Форум разработчиков
1766162479
Anonymous
В моем дистрибутиве Fedora 42 я пытаюсь использовать homebrew для установки определенной версии gcc для использования в моем проекте C++. Однако я обнаружил, что самодельные установки gcc завершаются сбоем при определенных вызовах библиотеки std, чего не происходит в версии gcc для Fedora.
Например, при использовании общих указателей
// main.cpp
#include
int main()
{
std::shared_ptr number = std::make_shared(7);
}
и компилируем с помощью RH/Fedora GCC,
sudo dnf install gcc # GCC (Red Hat 15.2.1-5)
g++ main.cpp -o main
это работает так, как ожидалось. Но делаем то же самое с соответствующей домашней версией
brew install gcc@15 # (Homebrew GCC 15.2.0)
g++-15 main.cpp -o main
выдает следующую ошибку:
In file included from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/x86_64-pc-linux-gnu/bits/gthr-default.h:35,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/x86_64-pc-linux-gnu/bits/gthr.h:157,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/ext/atomicity.h:37,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/bits/shared_ptr_base.h:61,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/bits/shared_ptr.h:53,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/memory:82,
from main1.cpp:1:
/home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0/include/c++/15/ext/concurrence.h:257:32: error: cannot convert '
' to 'unsigned int' in initialization
257 | __gthread_cond_t _M_cond = __GTHREAD_COND_INIT;
| ^~~~~~~~~~~~~~~~~~~
Подробнее здесь: [url]https://stackoverflow.com/questions/79851258/gcc-installed-from-homebrew-seems-to-be-broken-in-the-std-library[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия