|
|
Mex-File gegen shared library linken |
|
mikemodanoxxx |

Forum-Anfänger
|
 |
Beiträge: 41
|
 |
|
 |
Anmeldedatum: 23.04.09
|
 |
|
 |
Wohnort: Höchst/Odw
|
 |
|
 |
Version: R2007a
|
 |
|
|
 |
|
Verfasst am: 16.01.2013, 17:41
Titel: Mex-File gegen shared library linken
|
 |
|
 |
|
Hallöle,
ich arbeite gerade mit dem mex-compiler und habe ein Problem, das ich mir nicht erklären kann. Mein Programm besteht aus einer shared library und einer .cpp Datei, die mit mex kompiliert werden soll.
Meine .cpp Datei stellt nur die Schnittstelle zwischen Matlab und Cpp dar und ruft im Prinzip nur eine weitere Klasse (MexDevice) auf. Ich habe jetzt versucht das Programm auf zwei Weisen zu kompilieren:
1. Ich kompiliere gegen mexfile.cpp und MexDevice.cpp und linke das gegen meine Library. Das führt zu keinem Fehler und ich kann meine generierte mex-Funktion ganz normal aufrufen.
2. Ich packe die MexDevice.cpp ebenfalls zu der Library dazu und möchte also nur die mexfile.cpp kompilieren und gegen die Library linken. Das führt während der Kompilierung zu keinem Fehler. Beim Aufruf in Matlab erhalte ich aber folgende Meldung:
Ich kann mir das nicht erklären, weil das Linken gegen die Library bei 1. ja funktioniert, warum klappt es also bei der zweiten Variante nicht korrekt? Den direkten Compiler-Aufruf habe ich jetzt gerade nicht da, weil ich mit cmake kompiliere und das makefile riesig ist (ich umgehe den mex-Compiler indem ich gcc mit den gleichen Parametern aufrufe wie es mex tun würde und anschließend die Datei in .mexglx umbenenne). Daran kann es aber doch eigentlich auch nicht liegen :-S. Er scheint ja einfach die Klasse/Methode nicht zu finden, obwohl diese in der Library ist (das habe ich geprüft).
Ich arbeite mit 32 bit Matlab R2012a unter Ubuntu 12.04.
LG, mike.
|
|
|
|
|
|
|
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.
|
|