SWIG c# 引用 c++dll


swig 生成 cs,我就省略不说了,网上很多!

我遇到一个问题: cs文件有了,c++的dll也生成了,dll也放到BIn下面了,但是初始化对象的时候还是会报错!


找了好长时间才发现,dll拷贝到Bin下面,不代表网站加载了dll

所以要加载DLL,


1 ,  添加引用using System.Runtime.InteropServices;


2.添加 代码

  

    [DllImport("kernel32.dll", EntryPoint = "LoadLibrary")]
    public static extern IntPtr LoadLibrary(string lpLibFileName);


3.   构造函数添加

  

string path = HttpContext.Current.Server.MapPath("~/Bin");
        LoadDll(path);


4,添加函数

public bool LoadDll(string currentDirectory)
    {
        string _path_dll = Path.Combine(currentDirectory, @"FaceCompare.dll");
        IntPtr _dll_addr = LoadLibrary(_path_dll);
        if (_dll_add == IntPtr.Zero)
        {
            return false;
        }
        return true;
    }

dll 所依赖的其他dll也要load


这样就可以了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值