2010-07-15 6 views
1

Я строй проекта в Visual Studio 2005, которые требуют некоторых библиотек, которые были построены в Visual Studio 2003. Я получаю ошибки компоновщика каккомпиляции против MSVCP70.dll вместо MSVCP80.DLL в Visual Studio 2005

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

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

Спасибо!

ответ

0

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

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

Cheers,

Sebastiaan