在c程序中从codegen matlab调用生成的.dll文件

时间:2017-08-20 12:55:20

标签: c matlab dll codegen

我在MATLAB R2016b中使用codegen来生成.dll文件,如下所示:

codegen -config:dll ex_fun.m -args {0,0,0,0,0,0}

我尝试使用Visual Studio 2015将dll文件作为参考包含但是没有任何工作正常,我也无法将.lib文件用作链接器。

奇怪的是,我可以通过编译调用C函数的.c脚本以及输出.so文件(相当于Windows中的.dll)来轻松地在Linux上使用gcc,如下所示:

gcc main.c ex_fun.so -Wl,-rpath=$(pwd)

但是,我无法在Windows中找到任何直接方法。如何在C主脚本程序中使用和调用MATLAB输出的.dll文件?

应该注意的是,还会生成一个.def文件,但我不知道如何将它与输出dll文件一起使用。

1 个答案:

答案 0 :(得分:0)

在Visual Studio IDE中:

  • 将平台切换为" x64"

在项目属性中:

  • C ++>常规>其他包含目录= ^添加编译文件夹。

  • 链接器>常规>其他库目录= ^添加编译
    文件夹中。

  • 链接器>输入>其他依赖关系=" ex_fun.lib"

  • 在代码中:添加#include "ex_fun.h"
  • 编译完成后,复制" ex_fun.dll"输出文件夹并运行。