Имеет ли значение порядок строк ссылок для supc ++? - PullRequest
1 голос
/ 05 августа 2009

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

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

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

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

Спасибо!

1 Ответ

6 голосов
/ 05 августа 2009

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

...