Связывание форсированного статического регулярного выражения в msvcprt - PullRequest
3 голосов
/ 14 февраля 2011

Я компилирую свое приложение / MT и выполняю компоновку с библиотеками boost -mt-s (многопоточная статика), но библиотека boost regex (версия 1.45), похоже, извлекает / MD msvcrt.lib, что вызывает компоновщик ошибки.

Я могу обойти проблему, используя /NODEFAULTLIB:msvcrt.lib, но я бы предпочел это исправить. Это известная ошибка в boost или я делаю что-то глупое?

Соответствующий компоновщик (/ VERBOSE: lib) вывод:

Поиск /boost/stage/lib\libboost_regex-vc100-mt-s-1_45.lib: Поиск C: \ Program Files \ Microsoft Visual Studio 10.0 \ VC \ LIB \ msvcprt.lib:

Закончен поиск библиотек ССЫЛКА: предупреждение LNK4098: defaultlib 'MSVCRT' конфликтует с использованием других библиотек; использовать / NODEFAULTLIB: библиотека

Ответы [ 2 ]

1 голос
/ 21 июля 2011

Я, как правило, разработчик C # / Dot Net, но теперь у меня есть собственный проект Windows C ++, который должен ссылаться на статические библиотеки Boost. Хотя я бы предпочел использовать dll / сборки во всем приложении (связанные с безопасностью) диктует иначе.

Я тоже использую Visual Studio 2010 и изначально изо всех сил пытался связать со статическими библиотеками повышения. Я нашел единственный способ сделать это - создать новую статическую библиотеку Win 32 для взаимодействия с библиотекой Boost.

0 голосов
/ 14 февраля 2011

Короткий ответ - никогда не использовать многопоточные статические конфиги.Более новые версии Visual Studio даже не допускают этого в качестве опции.

...