STLPort, компиляторы Intel, ошибки сборки (хотя приложение работает нормально!)

При компиляции моего проекта против STLPort я получаю странные ошибки сборки. Странно, потому что проект работает нормально (и на 20-30% быстрее), хотя можно подумать, что ошибки сборки будут фатальными.

Может ли кто-нибудь просветить меня относительно того, что я делаю неправильно и как закрыть их?

Linking... (Intel C++ Environment)
ipo: error #11017: Cannot open stlport_static.lib
ipo: error #11017: Cannot open libiomp5md
ipo: error #11017: Cannot open libmmt
ipo: error #11017: Cannot open libirc
ipo: error #11017: Cannot open svml_disp
ipo: error #11017: Cannot open libdecimal
ipo: warning #11020: unresolved ?_M_use_facet@locale@stlp_std@@QBEPAVfacet@12@ABVid@12@@Z
        Referenced in ipo_19005obj.obj

[and lots of other unresolved symbols from that last .obj file]

(libiomp5md принадлежит поддержке Intel openmp, я использовал ее до перехода на stlport, и сейчас я все еще работаю с openmp, поэтому не понимаю, почему это должно было измениться).

Моя библиотека времени выполнения (в настройках генерации кода C++) настроена на многопоточность.

Заранее спасибо!

EDIT: кажется, что ipo - это межпроцедурная оптимизация, жалующаяся на то, что она не может открывать библиотеки, которые не были скомпилированы в текущей сборке. Настолько понятно, что эти ошибки не являются фатальными, и мой вывод все еще создается. Тем не менее, любой совет приветствуется.


person Sideshow Bob    schedule 19.09.2011    source источник
comment
Как работает то, что не может быть создано? Вы уверены, что не используете предыдущую версию исполняемого файла?   -  person Lightness Races in Orbit    schedule 19.09.2011
comment
Да, конечно (все удалил). Узнал еще кое-что, см. редактирование выше.   -  person Sideshow Bob    schedule 19.09.2011
comment
Так что же вы хотите знать, если вы уже узнали ответ?   -  person jalf    schedule 19.09.2011
comment
Пока я отключил его, чтобы заставить компоновщик замолчать, интересно, есть ли еще способ заставить ipo работать? Это может ускорить время выполнения.   -  person Sideshow Bob    schedule 19.09.2011


Ответы (1)


IPO — это межпроцедурная оптимизация, жалующаяся на то, что не может открыть библиотеки, которые не были скомпилированы в текущей сборке. Эти ошибки не являются фатальными; вывод все еще создается, но IPO, очевидно, не оптимизирует библиотеки, которые он не может оптимизировать.

person Sideshow Bob    schedule 31.10.2011