首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过运行测试代码导致dll泄漏错误

通过运行测试代码导致dll泄漏错误
EN

Stack Overflow用户
提问于 2022-02-21 09:34:52
回答 2查看 98关注 0票数 0

我正在学习如何使用dll和如何导出它们。我创建了一个调用不同组件(类、方法、函数等)的小程序。)我的dll文件来使用它们。当我构建这个项目时,我没有遇到任何问题,但是当我编译测试代码时,我得到了这个错误。

错误翻译:{ DLL "C:\Users\zboussaid\source\repos\WrapperTester\Debug"}.中找不到过程入口点"?Start@K_WrapperTeigha_DXF_DWG@@QAEXXZ“。

图像显示,在我的测试代码所在的路径中找不到启动方法,它是我的DLL文件中的函数。我已经尝试配置我的属性,如这个梳妆打扮中所示,但是正如我所说的,我得到了这个错误。如果你能帮我,我会非常感激的。

类别定义:

代码语言:javascript
复制
extern "C" class KWRAPPERTEIG_API K_WrapperTeigha_DXF_DWG
 {
  private:
     //create Data base
     OdDbDatabase* pDb;

     //tables
     OdDbLinetypeTablePtr    w_kOdLinetypeTablePtr;
     OdDbLayerTablePtr       w_kOdLayerTablePtr;
     OdDbTextStyleTablePtr   w_kOdTextStyleTablePtr;
     OdDbBlockTablePtr       w_kOdBlockTablePtr;

     OdDbBlockTableRecordPtr     w_kOdModelSpaceBlockRecPtr;
     //OdDbTextStyleTableRecordPtr pTextStyle;
 public:
     OdDb::DwgVersion     m_OdDwgVersion;    // Dwg/Dxf Version
     OdDb::SaveType       m_OdSaveType;      // DWG oder DXF




 public:
     K_WrapperTeigha_DXF_DWG();
     ~K_WrapperTeigha_DXF_DWG();

     void Start();
  }

宏:

代码语言:javascript
复制
#ifdef KWRAPPERTEIG_EXPORTS
#define KWRAPPERTEIG_API __declspec(dllexport)
#ifndef KWRAPPERTEIG__DLL
    #define KWRAPPERTEIG__DLL
#endif
#else
#define KWRAPPERTEIG_API __declspec(dllimport)
#endif
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-22 07:36:03

@YujianYao& Kiner_shah我真的很感谢你的帮助。我已经解决了这个问题。我的问题是,我在周五创建了dll文件,然后想改变创建dll文件的位置,却忘记了它。然后,在星期一,我复制了不包含start()方法的旧文件。因此,问题是dll文件设置的参数化错误。

票数 0
EN

Stack Overflow用户

发布于 2022-02-22 08:18:03

这在本质上意味着宏KWRAPPERTEIG_API没有被正确定义。它应该扩展到__declspec(dllexport),以便导出类函数。

extern "C"应该改变函数的名称,这样C就可以使用它们,因为C理解函数,而不是重载函数。但是C不理解类或类方法,因此它在那里有点毫无意义。您可以看到,Start@K_WrapperTeigha_DXF_DWG@@QAEXXZ仍处于故障状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71204006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档