LINUX.ORG.RU
ФорумTalks

Релиз набора компиляторов GCC 12

 


0

3

На Opennet новость появилась:

https://www.opennet.ru/opennews/art.shtml?num=57145

На что стоит обратить внимание при портировании на gcc 12: https://gcc.gnu.org/gcc-12/porting_to.html

Header dependency changes

Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.

The following headers are used less widely in libstdc++ and may need to be included explicitly when compiled with GCC 12:

    <memory> (for std::shared_ptr, std::unique_ptr etc.)
    <iterator> (for std::begin, std::end, std::size, std::istream_iterator, std::istreambuf_iterator)
    <algorithm> (for std::for_each, std::copy etc.)
    <utility> (for std::pair)
    <array> (for std::array)
    <atomic> (for std::atomic)

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

★★★★★

Последнее исправление: fsb4000 (всего исправлений: 3)

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

Думаю почти все. Ну кто вообще пишет инклуд для чего-то из стандарта до того, как его вынудит это сделать компилятор?

Usruser
()
Ответ на: комментарий от Usruser

Ну кто вообще пишет инклуд для чего-то из стандарта до того, как его вынудит это сделать компилятор?

а почему нет, если помнишь что где определено?

fsb4000 ★★★★★
() автор топика
Ответ на: комментарий от fsb4000

Во-первых мало кто помнит (мне IDE-ка c недавних пор подсказывать начала, прикольно), а во-вторых никто не будет при вызове каждой функции или объявлении переменной проверять а включён ли соотвествующий хеадер. Ну блин. Не сходить ли мне на верх файла и не посмотреть не включил ли я vector, а то я сейчас как раз вектор объявляю.

Usruser
()
Последнее исправление: Usruser (всего исправлений: 1)

Я грешил пропуском инклюдов. Пишу string, shared_ptr, atomic и т.д. и если ошибок нет, то не добавляю соответствующий инклюд. Так что у меня сборка завалится. Но это чинится легко.

ox55ff ★★★★★
()

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

Скорее всего нет, но бывают забывают, что нетрудно сделать, если оно неявно включается.

xaizek ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.