У меня есть заголовочный файл C++ и соответствующая статическая библиотека (файл .lib). Нет исходного файла. Код содержит несколько классов, каждый из которых имеет свои собственные функции.Вызов функций класса класса C++ в статической библиотеке из MATLAB
Я бы хотел, чтобы эти функции вызывали из MATLAB.
Может ли быть любезным, чтобы указать мне в правильном направлении? Примеры были бы оценены.
Спасибо.
EDIT: Было бы неплохо написать DLL, чтобы действовать как интерфейс между статической библиотекой и MATLAB? Затем я могу получить доступ к функциям моей статической библиотеки из DLL и использовать calllib для доступа к DLL из MATLAB. Если да, то как бы я назвал функции члена класса в статической библиотеке из DLL?
Update Так что я решил написать DLL, в которой я буду связывать статическую библиотеку и вызывать функции из MATLAB через это с помощью calllib
Проблема, статическая библиотека уже составлена, и я не имеют источник. Я пытаюсь связать файл .lib (предположительно построен с использованием Visual Studio) и строить свою DLL с помощью Mingw32, но это не работает, возможно, из-за (lack of?) interoperability of libraries created by different compilers. Это команда MinGW Я использую ссылку: g++ -c -o -DBUILDING_INTERMEDIATE_DLL intermediate_dll.cpp -TaccClient.lib
intermediate_dll. cpp является исходным файлом для моей DLL и TaccClient.lib - это статическая библиотека, которую я использую.
У кого-нибудь есть предложения относительно того, как это может работать, или мне придется подождать и попробовать его на визуальной студии позже?
Взгляните на ['calllib'] (http://www.mathworks.com/help/matlab/ref/calllib.html). Вероятно, вам понадобится оболочка для вызова функций класса. – buzjwa
@Naveh - это calllib не только для разделяемых библиотек? У меня есть статическая библиотека и только соответствующий файл заголовка - нет исходного файла. –
Ваш подход к DLL такой же, как и люди, обсуждаемые здесь :) http://www.mathworks.com/matlabcentral/answers/137241-using-static-library-in-matlab и пример здесь http://stackoverflow.com/questions/24704251/linking-and-loading-static-lib-with-mex – Kostya