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

C++ Datei wird in MATLAB nicht korrekt kompiliert

 

Sven198522

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2013, 11:41     Titel: C++ Datei wird in MATLAB nicht korrekt kompiliert
  Antworten mit Zitat      
Hallo,

ich versuche jetzt schon seit einiger Zeit meine mexmake-Datei zum laufen zu bringen.......es geht einfach nicht......ich habe versucht mit (mex -setup) den lokalen Compiler anzugeben (Visual Studio 2008 und 2010)...........aber er kommt scheinbar nich mit der math.h library zurecht.....
Falls jemand eine Idee hat wäre ich sehr dankbar.........
(eventuell ist die Lösung relativ einfach und ich komme nur nicht drauf, da ich noch nicht sehr lange damit arbeite)

Code:
>> mexmake
Compiling Code DETECTOR(s)...
PD_Reihenf_u_Berr_7El_seriell.cpp
PD_ep\PD_Malnf_u_Berr_7El_seriell.cpp(220) : error C2668: 'pow': Mehrdeutiger Aufruf einer berladenen Funktion
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(583): kann 'long double pow(long double,int)' sein
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(535): oder "float pow(float,int)"
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(497): oder "double pow(double,int)"
        bei Anpassung der Argumentliste '(int, int)'
PD_ep\PD_Malnf_u_Berr_7El_seriell.cpp(221) : error C2668: 'sqrt': Mehrdeutiger Aufruf einer berladenen Funktion
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(589): kann 'long double sqrt(long double)' sein
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(541): oder "float sqrt(float)"
        C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\math.h(127): oder "double sqrt(double)"
        bei Anpassung der Argumentliste '(int)'
 
  C:\PROGRA~1\MATLAB\R2012A\BIN\MEX.PL: Error: Compile of 'PD_ep\PD_Malnf_u_Berr_7El_seriell.cpp' failed.
 
Error using mex (line 206)
Unable to complete successfully.

Error in mexmake (line 7)
mex PD_ep/PD_Malnf_u_Berr_7El_seriell.cpp -outdir PD_ep/


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 27.09.2013, 14:44     Titel:
  Antworten mit Zitat      
Hallo Sven198522,

MEXMAKE ist kein von MathWorks geliefertes File, daher können hier weniger Nutzer helfen. Am Besten den Autor kontaktieren:

http://www.mathworks.com/matlabcent.....sioning/content/mexmake.m

"Error in mexmake (line 7)" ist nicht einfach zu verstehen, da das eine Kommentarzeile zu sein scheint.

Das File ist von 2006 - vielleicht funktioniert es einfach nicth für aktelle Releases?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Sven198522

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2013, 19:32     Titel:
  Antworten mit Zitat      
Hallo Andreas,

danke für die schnelle Antwort. Also ich habe noch eine ältere Version von Matlab (6.5)......ich werde es mit dieser mal probieren....gut ansonsten kann ich ja dann mal die von mathwork kontaktieren....

Sven
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2013, 22:38     Titel:
  Antworten mit Zitat      
Hallo Sven,

die zwei Fehler in PD_ep\PD_Malnf_u_Berr_7El_seriell.cpp sind ja eindeutig und leicht zu beheben. Du versuchst die Funktionen pow bzw sqrt mit einem int aufzurufen, der C-Compiler kann dieses in ein long double, double oder float umwandeln, weiß aber nicht, welche Variante Du meinst. Also solltest Du explizit an diesen Stellen den Typ des Parameters angeben.
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.