gpt4 book ai didi

c# - C# 中的 C++ 库 - 继承类

转载 作者:太空宇宙 更新时间:2023-11-04 12:12:44 25 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 2010 中的 C# 项目中使用 C++ 库 (GAlib)。

我构建了库来获取 .lib,感谢您的有用建议:

Using c++ library in c#

我可以调用这些函数,但我无法创建继承自库中现有函数的类。

我已经遵循了这个指南

http://blogs.msdn.com/b/vcblog/archive/2008/12/08/inheriting-from-a-native-c-class-in-c.aspx

我加了

__declspec(dllexport) class GAEvalData {
public:
. . .
}

但是使用 dumpbin/EXPORT ga.lib实现入口点,我没有信息。

我报告 dumpbin 输出:

Dump of file ga.lib
File Type: LIBRARY

仅此而已。

也反转

class __declspec(dllexport) GAEvalData {
public:
. . .
}

好像不行。

有什么建议吗?

这是从外部库继承类的最佳方式吗?

提前致谢

戴夫

最佳答案

通常你应该声明你的类类似于:

#ifdef DBTOOL_EXPORTS
#define DBTOOL_API __declspec(dllexport)
#else
#define DBTOOL_API __declspec(dllimport)
#endif

class DBTOOL_API Class {}

您的 C++ dll 应该定义 DBTOOL_EXPORTS。我认为这个想法很清楚。希望对您有所帮助

关于c# - C# 中的 C++ 库 - 继承类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9149493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com