【问题标题】:Calling C++ .dll libraries from MATLAB从 MATLAB 调用 C++ .dll 库
【发布时间】:2013-09-02 01:00:57
【问题描述】:

希望你们都玩得开心。我正在做一个项目,我必须调用将 C++ 写入 MATLAB 的 .DLL 和 .h 文件。实际上,我必须连接一个 USB 可连接设备。该设备的 API 是用 C++ 编写的,有一个 .dll 和一个 .h 文件。当我尝试使用 MATLAB 中的 loadlibrary 从 MATLAB 调用这两个时,它可以正常工作。但是因为这只是 API,所以我编写了一个 .h 和 .cpp 文件来使用这个 API。现在,当我加载自己编写的 .dll 文件时,出现错误

致命错误 C1083:无法打开包含文件:'USBCommAdapter.h':没有这样的文件或目录

其中 USBCommAdapter.h 是 .dll 文件提供的原始头文件。它位于 MATLAB 的工作文件夹中。

请帮我解决这个问题。

谢谢

【问题讨论】:

    标签: c++ matlab dll loadlibrary


    【解决方案1】:

    包含文件'USBCommAdapter.h' 应该在Matlab 的搜索路径中。一个简单的方法是将它放在当前工作目录中。在Matlab中输入path命令,检查USBCommAdapter.h是否在里面。

    【讨论】:

    • 尊敬的先生..我这样做了..解决方案是我在 中包含了头文件,但是当我像“USBCommAdapter.h”一样这样做时..它起作用了..这有什么原因吗?...也在我的 C++ 函数中,我正在给出参数..现在我想从 matlab 函数中给出这些参数意味着来自 calllib 命令......但它给出了错误..我正在做这样的 calllib( 'libraryname','funcname',arg1,arg2,arg3,arg4,arg5)..你能指出我正确的方向吗
    • <>从系统目录中搜索;并使用 "" 从当前目录搜索。剩下的问题是另一回事。将其作为新问题发布。
    • 尊敬的先生,感谢您的回答..我解决了上述问题并发布了另一个与之相关的问题..请查看并提出一些宝贵的建议。提前感谢stackoverflow.com/questions/18566995/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    相关资源
    最近更新 更多