我正在尝试在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
要实现EntryPoint,我没有任何信息。
我报告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/