Статическое связывание с сетевой библиотекой pion - PullRequest
0 голосов
/ 09 мая 2011

Я пытаюсь связать сетевую библиотеку pion 4.0.3 в моем приложении.Я попытался просто скомпилировать pion :: netlib в режиме RELEASE_STATIC - что сработало.Однако, когда я связался с ним в своем приложении, я получил много неразрешенных внешних проблем.

Затем я обнаружил, что конфигурация RELEASE_STATIC определяет PION_STATIC_LINKING, и из другого поста о другой библиотеке, которую я обнаружил, мне, вероятно, нужно определить PION_STATIC_LINKING вмоя программа aswell.

Это приводит к нескольким 100 ошибкам по следующему шаблону:

error LNK2005: _tolower already defined in MSVCRT.lib(MSVCR100.dll) C:\Users\name\Documents\Visual Studio 2010\Projects\myproj\LIBCMT.lib(tolower.obj)  myproj

Я пытался использовать / NODEFAULTLIB: libcmt, но все еще получаю ошибки, которые говорят, что определенные функции уже определеныв pion-common.lib / pion-net.lib.

Есть идеи?(

1 Ответ

2 голосов
/ 09 мая 2011

Скорее всего, это связано с тем, что вы компилируете свой проект с использованием параметров / MT (многопоточных) для генерации кода, а сетевая библиотека pion была скомпилирована с использованием / MD (многопоточных DLL) или наоборот. Попробуйте изменить конфигурацию на / MD, если это / MT или наоборот. Для этого перейдите на Project -> <ProjectName> Properties... -> Configuration Properties -> C/C++ -> Code Generation. На правой панели вы должны увидеть настройку Runtime Library. Измените параметры и перестройте все решение.

...