在 Visual Studio 6 中从 VB 调用 VS2010 C++ dll

Posted

技术标签:

【中文标题】在 Visual Studio 6 中从 VB 调用 VS2010 C++ dll【英文标题】:Calling a VS2010 C++ dll from VB in Visual Studio 6 【发布时间】:2011-12-07 21:11:14 【问题描述】:

这是我在 Stack Overflow 中的第一个问题,它是这样的: 我在 C++ 中实现了一些算法,用于将它们用作 Visual Studio 6(服务包 6)中 Visual Basic 的 DLL 的公司。以上所有(构建为 DLL,能够从 VB、VS6 调用)都是强制性的,我无法更改。 到目前为止,我的方法(因为我被要求在 VC6 中提供“可编译”代码)是在 VS2010 中制作原始实现(使用 C++98 代码标准),将代码移植和编译为 VC6 中的 DLL,制作函数包装器,最后在 VB 中制作“调用函数”,访问 DLL 代码。如果我可以使用 Boost::Geometry (例如,制作一个执行多边形联合而不暴露模板机制的包装函数)我的生活会好得多,但我不能在 VC6 中编译它所以这就是我要问的: VS2010内置的C++ DLL可以从Visual Studio 6调用吗?有什么技巧或陷阱吗?我只是想使用一些新制作的、经过全面测试的、值得信赖的 C++ 好东西作为独立的库,接收者不需要调试(至少我不认为它们是计划调试Boost)。

【问题讨论】:

还有一家公司还在用 Visual Studio 6 开发新代码?!? 它是一个非常轻量级的 IDE... 简而言之,它是可行的,但你需要导出一个C风格的界面 光是看着VC6的屏幕就让人郁闷,但JosephH说的有道理。 @PeskyGnat 所以我最近的尝试一定是做错了什么,感谢您消除了不确定性,它让我可以更加专注地工作 加粗的问题意义不大,VS6 不调用 DLL。我想他们是在要求您编写一个可以从 VB6 程序中使用的 COM 服务器。这是可能的,COM 隐藏了实现,所以 VS 版本无关紧要。但他们似乎想要在 VS6 中编译的代码。所以忘记过去 13 年创建的所有内容,它不太可能编译。你最好去购买 VS6 许可证(很难找到),然后向他们收费。 【参考方案1】:

我建议使用 ATL 创建一个 ActiveX 组件,以便您可以简单地将它们添加为 VB6 中的引用

【讨论】:

以上是关于在 Visual Studio 6 中从 VB 调用 VS2010 C++ dll的主要内容,如果未能解决你的问题,请参考以下文章

从 Visual Studio 2010 (VB.NET) 读取访问查询

如何在 Visual Studio 2015 中从 Git 获取特定版本?

在 Visual Studio Code 中从 NPM 包自动导入

visual studio里面的vb编写for循环,怎么设置变步长循环?

在 Visual Studio 2010 中从 .NET 项目启动 C++ 项目

如何在 VIsual Studio 2013 中从 UML 图生成 C++ 代码