Вызов сгенерированного DLL-файла из codegen matlab в программе c

Я использую codegen в MATLAB R2016b создать файл.dll следующим образом:

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

Я попытался включить файл DLL в качестве ссылки, используя Visual Studio 2015, но ничего не работает нормально, и я не мог использовать файл.lib в качестве компоновщика либо.

Странно то, что я мог легко использовать gcc в Linux, скомпилировав сценарий.c, который вызывает функцию C, вместе с выходным файлом.so (который эквивалентен.dll в Windows) следующим образом:

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

Тем не менее, я не мог найти прямой метод в Windows. Как я могу использовать и вызывать выходной файл.dll с помощью MATLAB в программе основного сценария C?

Следует отметить, что также создается файл.def, но я не знаю, как его использовать вместе с выходным dll-файлом.

1 ответ

В Visual Studio IDE:

  • Переключить платформу на "x64"

В свойствах проекта:

  • C++> Общие> Дополнительные каталоги включения = ^ добавить папку компиляции.

  • Linker> General> Дополнительные каталоги библиотек = ^ добавить компиляцию
    папка.

  • Линкер> Вход> Дополнительные зависимости = "ex_fun.lib"

  • В коде: добавить #include "ex_fun.h"
  • После компиляции скопируйте ex_fun.dll в выходную папку и запустите.
Другие вопросы по тегам