возможно, уже слишком поздно, но на будущее.
Включите foo.h
.
Добавить C / C ++ - Общие-дополнительные каталоги включения путь к заголовкам Matlab (C:\Program Files (x86)\MATLAB\R2009b\extern\include
).
Добавить foo.lib
, mclmcrrt.lib
и mclcommain.lib
для компоновщик в дополнительных зависимостях .
Для компоновщик в Дополнительные каталоги библиотек показывают путь к вашим библиотекам Matlab (C:\Program Files (x86)\MATLAB\R2009b\extern\lib\win32\microsoft
для 32-битных версий (версии Matlab и VS должны совпадать.установить вторую версию Matlab 32bit.)).
Я добавил путь к foo.lib
в моем системном пути.
Перед использованием библиотеки foo.dll
, вам следует инициализировать MCR и библиотечную функцию.
mclInitializeApplication(NULL,0);
fooInitialize();
После использования не забудьте:
mclTerminateApplication();
fooTerminate();
И некоторые демонстрациикод, выглядит так:
int num = 1;
double numbrIn = 1.5;
std::cout<<"now we have " << numbrIn << std::endl;
mwArray array_in(num, 1, mxDOUBLE_CLASS, mxREAL);
array_in.SetData(&numbrIn,num);
mwArray array_out;
foo(1, array_out, array_in);
array_out.GetData(&numbrIn, num);
std::cout<<"now we have " << numbrIn << std::endl;