|
|
C++ in Matlab (MexFile) und dll Probleme Fehler C4251 |
|
baronsocke |

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 21.05.14
|
 |
|
 |
Wohnort: Köln
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2014, 18:09
Titel: C++ in Matlab (MexFile) und dll Probleme Fehler C4251
|
 |
|
 |
|
Hallo zusammen!
Ich schreibe an meiner Bachelorarbeit. Dafür muss ich aus Matlab (Version R2014a, 32bit) eine externe Lichtquelle ansteuern, deren API in C++ geschrieben ist. Die gesamte API und alle dafür benötigten Dateien habe ich von der Firma erhalten und installiert.
Für die Ansteuerung schreibe ich ein MexFile, in dem ich c++ schreiben kann. Ich habe das Mex-File grob geschrieben und möchte es kompilieren. Die API ist mit dem Microsoft Visual C++ 2012 (64/32 bit) entwickelt worden. Ich benutze den entsprechenden Microsoft Visual 2012 Compiler.
Beim Compilieren bekomme ich aber eine Fehlermeldung, wo ich einfach nicht dahinter steige.
class std::shared_ptr<_Ty> erfordert eine DLL-Schnittstelle, die von Clients von class
verwendet wird
(siehe Bild im Anhang)
Kleiner Hinweis: In der Header Datei ist "std::shared_ptr<_Ty>" unter "private" deklariert.
ich weiß aber nicht, welche dll Schnittstelle er nicht findet und ich weiß einfach nicht, was ich ändern kann.
Die entsprechenden mitgelieferten Header Dateien habe ich alle über #include eingebunden.
Kennst jemand dieses Problem? Was kann man tun? Ich habe schon so viel im Internet recherchiert, aber nichts nützliches gefunden. Ich bin auch kein c++ Programmierer und mir kommt der größte Teil wie Hyroglyphen vor. Da wird mal von dllImport oder dllExport gesprochen
Aber ich habe die fertigen dlls ja von der Firma bekommen und die haben mir versichert, dass alles komplett ist. Eigene dlls brauche ich ja somit nicht zu schreiben. Den Fehlercode C4251 habe ich auch gegoogelt. Ein paar Leute haben das auch schon mal gegoogelt. Aber als nicht Programmierer verstehe ich das nicht:(
Das ganze mache ich an einem Windows 7 Rechner mit 64bit System. Die API der Firma ist auch für ein 64 bit System geschrieben. Das ganze haben wir auch schon mit einer 64bit-Matlab Version getestet, aber es kommt der gleiche dll Fehler.
Muss ich vielleicht noch irgendwas includieren? oder was mit def oder so?
Vielleicht hat jemand eine zündende Idee? Dafür wäre ich dir sehr sehr dankbar.
Viele Grüße
Beschreibung: |
|
 Download |
Dateiname: |
Fehlermeldung_dll.PNG |
Dateigröße: |
23.34 KB |
Heruntergeladen: |
267 mal |
|
|
|
|
|
|
|
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.
|
|