Вызов сгенерированного 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 в выходную папку и запустите.