C++ 从 DLL 创建结构
Posted
技术标签:
【中文标题】C++ 从 DLL 创建结构【英文标题】:C++ creating a struct from DLL 【发布时间】:2018-01-11 00:01:12 【问题描述】:我正在使用包含结构的第 3 方 DLL。相应的头文件包含这样的结构定义:
struct MY_STRUCT
public:
MY_STRUCT();
[members]
当我尝试创建这种类型的变量时:
MY_STRUCT myStruct;
...我收到此错误:未定义对MY_STRUCT::MY_STRUCT()
的引用
我已经将 DLL 链接到我的项目,因为我之前使用过它的一些(动态加载的)函数。
【问题讨论】:
你熟悉__declspec(dllexport)
吗?
是的,但这是第 3 方 DLL,因此第 3 方负责导出结构(如果这是您的评论),我认为它已正确导出,因为它被用作参数类型在它的一个导出函数中。
在这种情况下,我会在 DLL 上使用 dumpbin /exports
来查看您是否可以获得有关它如何导出的提示。
您是否一直编译为 C++,或者您之前(成功)编译为 C?
始终为 C++ [填充最小评论长度的文本]。
【参考方案1】:
所以我联系了 DLL 提供商,他们的回答是:“DLL 不会导出任何结构,您必须自己实现它们”。真是太棒了。
【讨论】:
以上是关于C++ 从 DLL 创建结构的主要内容,如果未能解决你的问题,请参考以下文章
如何将结构从 C++ 应用程序传递到 C++ Win32 DLL?
将 C++ 结构指针从 Perl 传递给任意 dll 函数调用