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

DLL-Problem bei mex trotz gelinkter lib

 

Cherup
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2013, 14:09     Titel: DLL-Problem bei mex trotz gelinkter lib
  Antworten mit Zitat      
Hallo,

ich habe ein etwa schwerwiegenderes Problem und hoffe, dass ihr mir weiterhelfen könnt.

Ich muss über eine mex-Schnittstelle einen C++-Code ausführen, der externe Libraries und Header verwendet. Die entsprechende Library und den Ordner mit den erforderlichen Headerdateien habe ich mit dem mex-Befehl über die -L/-I Optionen gelinked. Das compilen läuft fehlerfrei, nur beim starten des Codes kommt die Fehlermeldung, dass das entprechende Modul nicht gefunden wurde. Nach ein bischen googlen habe ich erfahren, dass wohl DLLs fehlen oder nicht korrekt gelinked wurden und habe das auch mit dem Dependency Walker nachverfolgt.
Die Warnings bei mex sagen mir, dass eine DLL-Schnittstelle fehlt. Diese ist die DLL der schon gelinkten lib.

Daher meine Frage an euch: kann/muss ich die DLL der schon gelinkten Library zusätzlich linken und falls ja, wie geht das? Oder ist es ein ganz dummer Denkfehler von mir?

Viele Grüße und frohe Ostern
Cherup
_________________

Linux is like a Wigwam: no Windows, no Gates and an Apache inside
Private Nachricht senden Benutzer-Profile anzeigen


Theresa

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2014, 19:21     Titel: Linken von dlls in mex mit PATH/mexopts; Laufzeitproblem
  Antworten mit Zitat      
Diese Antwort kommt wohl etwas zu spät, aber vielleicht hilft es ja anderen weiter. Ich habe mich auch mit Matlab und mex herumgeplagt.

Bei mir ließ sich dieses Problem durch zwei Dinge beheben:
1. Änderung der System-PATH-Variable (Umgebungsvariable): Dabei muss man den Pfad zum bin-Verzeichnis, in dem die Bibliotheken liegen, hinzufügen.
2. Entsprechende Änderungen in mexopts.bat. Hier sollte man unter set LINKERFLAGS -L die Pfade zu allen verwendeten Bibliotheken angeben und unter set LINKLIBS mit -l (kleines L) alle tatsächlichen Bibliotheken einbinden. Das kann man aber auch in Matlab direkt in der Kommandozeile hinzufügen, wenn man den Compilerbefehl aufruft.
(Ich hänge mein mexopts.bat-File an.)

Das Linken funktioniert seither. Leider bringen die mex-Dateien Matlab ohne Fehlermeldungen zum Absturz. Ich möchte opencv verwenden. mex-Dateien ohne opencv funktionieren einwandfrei. Ich habe das Gefühl, dass es etwas mit den dll-Dateien zu tun hat.

Ich habe ein 64-Bit-fähiges Windows und eine 32-Bit-Version von MATLAB R2012b, auch die dlls sind 32 Bit. Es ist absolut sicher, dass es am Aufruf der Bibliotheken-Funktionen liegt, denn wenn ich all diese Funktionen herausnehme und nur Standard-Befehle benutze, ist alles okay.

Ich habe inzwischen aufgegeben. Aber wenn irgendjemand eine Idee oder ähnliche Probleme hat, wäre ich sehr dankbar für eine Antwort!!!

mexopts_bat.txt
 Beschreibung:
Ich habe gnumex benutzt, daher der g++-Compiler

Download
 Dateiname:  mexopts_bat.txt
 Dateigröße:  3.31 KB
 Heruntergeladen:  698 mal
 
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.