如何在Visual Studio 2003项目中使用使用Visual Studio 2008编译的DLL和库?
谢谢, 丹
答案 0 :(得分:1)
一般情况下,您不可能将编译的C ++库(动态或静态)与其他编译器一起使用,除非其中一个编译器明确列为与另一个编译器二进制兼容。
有些答案提到了'第三方'或Windows DLL。但是,我愿意打赌,大多数(如果不是全部)这些DLL都使用C API,而不是C ++。 C ++ ABI(应用程序二进制接口)没有标准化 - 名称修改之类的东西在相同编译器的不同版本中不保证是相同的,并且调用约定可以根据编译器选项而变化。
快速谷歌搜索没有找到任何看起来可用的链接,但正如我在开始时所说的那样,一般来说,你不能在代码中使用已编译的 C ++ 库,静态或动态用不同的编译器编译。 C是一个不同的野兽,答案完全不同!
答案 1 :(得分:1)
你绝对可以使用DLL。我在VS2003和VS2008中使用了相同的第三方DLL。为了使事情变得更容易,您应该只向DLL函数传递普通的旧数据类型。结构或类更难,但在VS2003和VS2008之间的大多数情况下也应该是可能的。
查看this questions,了解更深入的信息,而不是我给你的信息。
答案 2 :(得分:0)
你做不到。唯一可能的事情是重新编译为目标.NET 1.x。