美文网首页工作生活
C# 调用C++ dll 的坑

C# 调用C++ dll 的坑

作者: AnuoF | 来源:发表于2019-06-30 17:03 被阅读0次

    遇到一个很奇葩的坑,耗费了我大半天的时间,现将问题和解决办法记录如下。

    问题描述:

    同样的代码在测试程序中可以运行,我集成到框架中去之后就无法使用,提示【无法在 DLL“rtlsdr”中找到名为“rtlsdr_get_device_count”的入口点】
    在框架中设置了私有路径,如果路径设置正确,则我的模块初始化失败,如果没有设置私有路径,则我的模块可以初始化,但是调用C++的库会失败,提示的错误如上所述。
    最奇葩的地方在于用VS调试时,如果私有路径设置正确,那我的模块都加载不进框架;如果不正确,则可以进入我的模块,但是调用C++会失败。

    解决办法:

    在调用C++库的时候,在库名称中加上相对路径,这样才能调用成功。 找到这个解决办法让我走了不少弯路,最初怀疑是框架的影响,或者路径不对,但我把需要调用的dll文件都放到运行程序根目录还是没成功。
    实在没有办法了,我才想到加个相对路径试试,结果居然可以成功调用了。我C

    相关文章

      网友评论

        本文标题:C# 调用C++ dll 的坑

        本文链接:https://www.haomeiwen.com/subject/zhpbcctx.html