компиляция против MSVCP70.dll вместо MSVCP80.dll в Visual Studio 2005 - PullRequest
1 голос
/ 15 июля 2010

Я строю проект в Visual Studio 2005, для которого требуются некоторые библиотеки, которые были построены в Visual Studio 2003. Я получаю ошибки компоновщика, такие как

msvcprt.lib(MSVCP80.dll) : error LNK2005: class std::basic_string[...]already defined in libdiguy.lib(bdiNavMesh.obj)

Я считаю, что моя программа и библиотеки являютсякомпилируется динамически, а не статически.Я также попытался изменить параметры / MD и / MDd, потому что это казалось решением для подобных ошибок.Мое лучшее предположение в настоящее время состоит в том, что это должно соединиться с MSVCP70.dll вместо MSVCP80.dll, чтобы решить эти ошибки.Есть ли способ, которым я могу скомпилировать против старой библиотеки DLL, чтобы увидеть, если это исправит это?

Спасибо!

1 Ответ

0 голосов
/ 18 марта 2011

Насколько я знаю, у вас есть два варианта: либо получить версию библиотек VS2005, либо продолжать использовать заголовки и библиотеки VS2003. Первый, на мой взгляд, лучший вариант, потому что вы не извлечете выгоду из исправлений MS, сделанных в заголовках и библиотеках. Но это может быть сложно или даже невозможно. Последнее можно сделать, изменив каталоги VS2005 на соответствующие каталоги VS2003. Я думаю, что вы также должны игнорировать все библиотеки по умолчанию и явно указать библиотеки VS2003.

Надеюсь, это поможет.

Приветствия

Sebastiaan

...