WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matlab-Funktionen in C einbinden (Eclipse, OS: Ubuntu)

 

Cappaja
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2011, 16:55     Titel: Matlab-Funktionen in C einbinden (Eclipse, OS: Ubuntu)
  Antworten mit Zitat      
Hallo,

ich möchte gerne aus einem C-Programm heraus eine .MAT-File erstellen. Auf Mathworks bin ich unter http://www.mathworks.com/help/techdoc/matlab_external/f39876.html fündig geworden.

Die Dateien mat.h und matrix.h sind korrekt eingebunden in das Projekt und funktionieren. Bei den Library Dateien bin ich mir allerdings nicht sicher. Ich habe zusätzlich das Programm Scilab installiert welches unter dem Pfad /usr/lib/scilab die Dateien libmat.so und libmx.so enthält. Diese sollen den Angaben nach zu Folge die auf Linux-Ebene verwendeten Library-Dateien sein. Den Pfad hab ich in den Projekteinstellungen unter C/C++ Build -> Settings -> GCC C Linker -> Libraries als Library search path eingegeben.

Dennoch erhalte ich beim Linken die Standard-Fehlermeldungen wenn er die MEX-Functions nirgends finden kann: undefined referenco to "function name".

Sind diese .SO Dateien die richtigen Librarys oder muss man diese erst noch entpacken? Ich arbeite zum ersten mal mit C auf Linux-Ebene und habe daher noch ein paar Probleme.
Wäre für jede Hilfe sehr dankbar!

Grüße Cappaja
Private Nachricht senden Benutzer-Profile anzeigen


Cappaja
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2011, 22:05     Titel:
  Antworten mit Zitat      
Keine Ahnung warum das jetzt so lange gedauert hat, aber die Lösung war so simpel und nah. In einem Forum hab ich gelesen das ich den library search path setzen muss, das war zumindest in meinem Fall nicht richtig.

Hier die Lösung: In Projekteigenschaften unter C/C++ Build -> Settings -> GCC C Linker -> Libraries und dort im oberen Feld unter Libraries (nicht Library search path) die beiden Dateien libmat.so und libmx.so einbinden - fertig!
Die Headerdateien können direkt ins Projekt integriert werden wobei ich noch zusätzlich die Headerdatei tmwtypes.h einbinden musste, da matrix.h typedefs von dort bezieht...

Grüße Cappaja
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.