在 Visual Studio 2005 中针对 MSVCP70.dll 而不是 MSVCP80.dll 进行编译

发布于 2024-09-10 12:42:51 字数 395 浏览 9 评论 0原文

我正在 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 进行编译,看看是否可以修复它?

谢谢你!

I am building a project in Visual Studio 2005 that require some libraries that were built in Visual Studio 2003. I'm getting linker errors like

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

I believe that my program and the libraries are both compiled dynamically instead of statically. I've also tried changing the /MD and /MDd options because that seemed to be the solution to similar errors. My best guess at the moment is that it needs to link against MSVCP70.dll instead of MSVCP80.dll to resolve these errors. Is there a way I can compile against the older dll to see if that will fix it?

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暗地喜欢 2024-09-17 12:42:51

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

希望这有帮助。

干杯,

塞巴斯蒂安

As far as I know you have two options: either get a VS2005 version of the libraries, or keep using the VS2003 headers and libraries. The first is in my opinion the better option because you will not benefit from fixes MS made in headers and libs. But it may be difficult or even impossible. The latter can be done by changing the VS2005 directories to the corresponding VS2003 ones. I think that you also have to ignore all default libraries and explicitly specify the ones from VS2003.

Hope this helps.

Cheers,

Sebastiaan

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文