|
SingleLineSweep |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.10.16
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.11.2016, 15:41
Titel: .DLL in Matlab verwenden
|
|
|
|
|
Hallo zusammen,
ich habe mir in C++ eine DLL für ein Projekt in MATLAB geschrieben. Diese DLL möchte ich nun in MATLAB einbinden und nutzen. Laut MATLAB gibt es hierfür die Funktion loadlibrary(). Ich bekomme es allerdings leider nicht hin meine geschriebene DLL und das dazugehörige headerfile zu laden.
Genauso wie in dem von Mathworks angebotenem example (der "shrlibsample") habe ich es versucht nachzuvollziehen, doch bin ich leider nicht zu einem Ergebnis gekommen. Hat MATLAB irgendwelche Gesetze oder Richtlinien an die man sich bei der Erstellung der .dll halten muss? Das Headerfile liegt im gleichen Ordner wie das .dll-File.
Anbei auch noch die Fehlermeldung:
Das seltsame ist er sagt mir hier es gäbe Probleme beim compilieren? Aber wenn ich die .dll über C# oder C++ Projekte aufrufe gibt es keine Probleme.
Vielen Dank für eure Unterstützung
_________________
Das Spektrum einer Frequenz ist ja wundervoll!
Zuletzt bearbeitet von SingleLineSweep am 07.11.2016, 15:47, insgesamt einmal bearbeitet
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 07.11.2016, 15:45
Titel: Re: .DLL in Matlab verwenden
|
|
Hallo SingleLineSweep,
Die Fehlermeldung spricht von Syntax-Fehlern in den Zeilen 8, 9 und 23. Sind diese Zeilen okay?
Gruß, Jan
|
|
|
SingleLineSweep |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.10.16
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.11.2016, 15:49
Titel:
|
|
Ja sind sie. Habe keine Probleme die *.dll über andere Programmiersprachen anzusprechen und die Funktionen aufzurufen.
_________________
Das Spektrum einer Frequenz ist ja wundervoll!
|
|
|
SingleLineSweep |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.10.16
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.11.2016, 15:53
Titel: Re: .DLL in Matlab verwenden
|
|
Hier noch der Code von meinem Header und meiner dllmain.cpp.
_________________
Das Spektrum einer Frequenz ist ja wundervoll!
|
|
|
SingleLineSweep |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.10.16
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.11.2016, 16:24
Titel: Re: .DLL in Matlab verwenden
|
|
Hallo zusammen,
ich habe das Problem bereits gelöst. Matlab ist nicht in der lage mit C++ *.dlls zu arbeiten. Habe nun die *.dll in native C geschrieben. Funktioniert nun einwandfrei!
Sorry für die Umstände!
_________________
Das Spektrum einer Frequenz ist ja wundervoll!
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 07.11.2016, 17:25
Titel: Re: .DLL in Matlab verwenden
|
|
|
|
SingleLineSweep |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 11.10.16
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2016, 11:03
Titel: Re: .DLL in Matlab verwenden
|
|
Ja, ich habe mich wohl falsch ausgedrückt.
Was ich meinte ist, dass es nicht möglich ist ohne eine C-Schnittstelle bereitzustellen eine DLL zu laden. laut Matlab Doku:
Zitat: |
Functions written in C++ must be declared as extern "C". |
Wenn man also auf die Verwendung von Namespaces und Klassen verzichtet funktioniert es.
_________________
Das Spektrum einer Frequenz ist ja wundervoll!
|
|
|
pete10 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.05.2019, 13:21
Titel: Dll in Matlab verwenden
|
|
Hallo,
der Beitrag ist zwar schon 3 Jahre alt, aber ich versuche mal mein Glück. Ich bin noch ein Programmieranfänger muss aber auch eine C++ .dll über Matlab aufrufen. Die .dll habe ich gebaut (auch die MathLibrary). Muss ich noch irgednetwas beachten bevor ich den Befehl loadlibrary benutze? Aus den Docs auf der MatLab Seite werde ich leider nicht schlau :/
Ich hoffe ihr könnt mir weiterhelfen.
Viele Grüße und besten Dank im Voraus.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|