parleychou 2021-06-19 19:43 采纳率: 0%
浏览 14

P/Invoke的dll不能正常加载

我写了一个c#调用C++的P/INVOKE程序,之前所有都没问题,但是当我调用了一个第三方库以后,C++里面所有的函数都调用不了了。

程序的接口开始是这样的:

 extern "C" __declspec(dllexport) void BuildModel(NSBuilder* builder)
{
    builder->BuildModel();
    ND::CProj* Model = builder->GetModel();
    CreateProj(Model);
}

CreateProj  是第三方库提供的方法,定义是这样的:

extern "C" void __declspec( dllimport )  CreateProj(ND::CProj *pDataProj)

在加入这个第三方库提供的方法后,这个dll中的所有函数都不能正常访问了,异常如下:

未经处理的异常:  System.DllNotFoundException: 无法加载 DLL“NSFrameworkC.dll”: 动态链接库(DLL)初始化例程失败。 (异常来 自 HRESULT:0x8007045A)。

但是当我不定义这个__declspec( dllexport )时:

void BuildModel(NSBuilder* builder)

dll又能正常访问了,但是这个CreateProj 是一定要调用的,所以我该如何处理这个情况?

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-06-22 18:32
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,目前超出我们的服务范围,暂时无法为您解答。

    首次提问人员可免费体验一次有问必答服务。目前首次提问的问题服务范围为:编程语言、Java开发、python、数据库、前端开发 领域专业技术问题,为您提供问题的解决思路和指导。不提供源码代写、项目文档代写、论文代写、作业代写、安装包资源发送或安装、软件使用指导等服务。

    我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题