首页 文章

在Visual Studio 2005中编译MSVCP70.dll而不是MSVCP80.dll

提问于
浏览
1

我正在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

    据我所知,您有两个选择:获取VS2005版本的库,或继续使用VS2003标头和库 . 在我看来,第一个是更好的选择,因为你不会从头文件和库中的MS修复中受益 . 但这可能很困难甚至不可能 . 后者可以通过将VS2005目录更改为相应的VS2003目录来完成 . 我认为您还必须忽略所有默认库并明确指定VS2003中的库 .

    希望这可以帮助 .

    干杯,

    Sebastiaan

相关问题