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

Mex Files linken

 

Larzarus
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2012, 14:23     Titel: Mex Files linken
  Antworten mit Zitat      
Hallo,

ich möchte gerne ein C++ Datei mit Matlab compilieren.
Ich verwende Boost und ein paar Dateien die ich selber geschrieben habe.
Ich bekomme die Fehlermeldung:

Code:
Cannot export mexFunction: symbol not defined
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x44): undefined reference to `PacketHandler::PacketHandler()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x5a): undefined reference to `PacketHandler::start(MatlabBuffer)'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x62): undefined reference to `PacketHandler::~PacketHandler()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x74): undefined reference to `PacketHandler::~PacketHandler()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0xea): undefined reference to `WSAStartup@8'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x135): undefined reference to `MatlabBuffer::readFromBuffer()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x31b): undefined reference to `MatlabBuffer::MatlabBuffer()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x4d7): undefined reference to `boost::thread::start_thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x58b): undefined reference to `boost::thread::start_thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x6e8): undefined reference to `boost::thread::start_thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x6f3): undefined reference to `boost::thread::join()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x6fe): undefined reference to `boost::thread::join()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x706): undefined reference to `boost::thread::join()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x70e): undefined reference to `boost::thread::~thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x719): undefined reference to `boost::thread::~thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x721): undefined reference to `boost::thread::~thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x105d): undefined reference to `boost::thread::~thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x10aa): undefined reference to `boost::thread::~thread()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x166a): more undefined references to `boost::thread::~thread()' follow
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x1810): undefined reference to `boost::system::generic_category()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x181a): undefined reference to `boost::system::generic_category()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x1824): undefined reference to `boost::system::system_category()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x1849): undefined reference to `boost::system::system_category()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x1853): undefined reference to `boost::system::system_category()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x185d): undefined reference to `boost::system::system_category()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0x1960): undefined reference to `boost::system::system_category()'
C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj:startThread1.cpp:(.text+0xb6): undefined reference to `WSACleanup@0'
collect2: ld returned 1 exit status
link command: g++ -shared C:\Users\VIKTOR~1\AppData\Roaming\MATHWO~1\MATLAB\R2011a\gnumex\mex.def -o startThread1.mexw32 -LC:\Users\VIKTOR~1\AppData\Roaming\MATHWO~1\MATLAB\R2011a\gnumex  -s C:\Users\VIKTOR~1\AppData\Local\Temp\mex_dMJPXL\startThread1.obj -llibmx -llibmex -llibmat
 
  C:\PROGRA~1\MATLAB\R2011A\BIN\MEX.PL: Error: Link of 'startThread1.mexw32' failed.
 
??? Error using ==> mex at 208
Unable to complete successfully.


Ich habe schon folgende Aufrufe getestet:

mex startThread1.cpp -IUM6

mex -f mexopts.bat startThread1.cpp -l"C:\Users\Viktor Gottfried\Matlab\UM6 Nexus Cpp threaded\UM6"

Im Ordner UM6 sind die Dateien für den Packethandler.
Kann mir jemand sagen was ich tun muss?
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 21.05.2012, 14:25     Titel:
  Antworten mit Zitat      
Hallo
in welchen Ordner liegt Mex-File und UM6, wenn im gleichen Verzeichnis:
Code:

mex -v -g -I. -I./UM6/ startThread1.cpp
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Larzarus
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2012, 10:09     Titel:
  Antworten mit Zitat      
Hey also die Mex_file wird doch erts durch kompilieren erstellt oder nicht?

Ordner UM6 liegt in einem eigenen Order UM6 xD

Habe deinen Aufruf probiert hat aber leider nicht geholfen...

Woran kann es noch liegen?

Fehlermeldung in der ersten Zeile:
In function `_static_initialization_and_destruction_0':


Code:
-> Default options filename found in C:\Users\Viktor \Matlab\UM6 Nexus Cpp threaded
----------------------------------------------------------------
->    Options file           = C:\Users\Viktor\Matlab\UM6 Nexus Cpp threaded\mexopts.bat
      MATLAB                 = C:\PROGRA~1\MATLAB\R2011a
->    COMPILER               = gcc
->    Compiler flags:
         COMPFLAGS           = -c -DMATLAB_MEX_FILE -x c++
         OPTIMFLAGS          = -O3
         DEBUGFLAGS          = -g
         arguments           =  -I. -I./UM6/
         Name switch         = -o
->    Pre-linking commands   =  
->    LINKER                 = C:\PROGRA~1\MATLAB\R2011a\sys\perl\win32\bin\perl.exe c:\users\VIKTOR~1\matlab\gnumex\linkmex.pl
->    Link directives:
         LINKFLAGS           =  -LC:\Users\VIKTOR~1\AppData\Roaming\MATHWO~1\MATLAB\R2011a\gnumex GM_ISCPP
         LINKDEBUGFLAGS      = -g  -Wl,--image-base,0x28000000\n
         LINKFLAGSPOST       =  
         Name directive      = -o startThread1.mexw32
         File link directive =  
         Lib. link directive =  
         Rsp file indicator  =  
->    Resource Compiler      = C:\PROGRA~1\MATLAB\R2011a\sys\perl\win32\bin\perl.exe c:\users\VIKTOR~1\matlab\gnumex\rccompile.pl  -o mexversion.res
->    Resource Linker        =  
Private Nachricht senden Benutzer-Profile anzeigen
 
Larzarus
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2012, 12:50     Titel:
  Antworten mit Zitat      
so habe jetzt eine Lösung gefunden:
Ich kompiliere einfach über Eclipse...
http://ngoonee.xanga.com/664222870/.....t-ide-mingw-gcc-compiler/

Danke für die Hilfe.
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.