Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Имеет ли значение порядок строк ссылок для supc++?

Автор вопроса: MK.Ответов: 1

Это продолжение предыдущего вопроса -

Как использовать другой STL с g++

Теперь я могу получить свой код для сборки, используя другой STL. Однако мне все еще нужно связать -lsupc++ (вместе с указанным другим STL)

Я вижу анекдотические ссылки на то, что -lsupc++ должна быть последней библиотекой в ​​строке ссылок. Я не могу найти окончательный ответ на это. В настоящее время это не последняя библиотека для меня на линии ссылок, и, похоже, все работает нормально.

Спасибо!

gccc++stl

Ответы

Ответ 1 · рейтинг 6 · Meredith L. Patterson

Упорядочение ссылочной строки - дело придирчивое и капризное. Правило состоит в том, что библиотеки должны быть связаны в обратном порядке зависимости: если объект A находится в libfoo и зависит от объекта C из libbar, то линия связи должна идти -lfoo -lbar, а не наоборот. Наличие -lsupc++ в конце гарантирует, что если какие-либо другие библиотеки, которые вы связываете, зависят от объектов в libsupc++, зависимость разрешится правильно. В вашем случае конечные библиотеки, вероятно, просто не имеют неразрешенных зависимостей.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы