Hallo mal wieder,
ich hänge leider immernoch an dem Problem eine externe Library einzubinden. Daher habe ich das ganze nochmal von vorne angefangen.
Kurz die Aufgaben/Problembeschreibung:
Ich möchte ein netzwerkbasiertes Interface (in C++ geschrieben) über eine mex-Schnittstelle aus meinem Matlab-Code ansprechen.
Für dieses Interface muss ich einige externe Header-Dateien und eine Library einbinden bzw. linken.
Nun meine bisherige "Lösung":
Ich habe im C++ Code natürlich die entsprechenden Header-Dateien eingebunden.
Mein Mex-Befehl zum compilieren sieht so aus:
mex -I"[Ordner mit den externen Header-Dateien]" -L"[Ordner mit der Library], [MexDateiname], -l[externe lib]
Das kompilieren klappt, aber sobald ich das Programm starten will, sagt mir Matlab, dass das entsprechende Modul nicht gefunden wurde. Nach ein bischen googeln hab ich dann herausgefunden, dass wohl die dll der Library nicht (richtig) gelinkt wurde.
Ich habe dann mal alle externen Codes auskommentiert und siehe da es klappt. Danach habe ich probiert, den entsprechenden Namespace des Interface einzubinden und ab da gehts nicht mehr. Daher wird es wohl daran liegen, dass die lib/dll nicht richtig gelinkt wurde.
Habe ich irgendetwas übersehen? Muss ich noch irgendwo Pfad-Variablen eintragen (System, Matlab)?
Ich hoffe ihr könnt mir weiterhelfen, bin mit meinem Latein am Ende.
Viele Grüße
Cherup
↧