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

M-Files in C++ einbinden

 

Hans09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2009, 11:57     Titel: M-Files in C++ einbinden
  Antworten mit Zitat      
HI Leute,

ich habe in der Toolbox FullBNT-1.0.4 ein Bayessches Netz erzeugt. Dieses exportiere ich mit Hilfe von mcc in eine DLL und binde diese in einem Visual C++ 2005 Express Projekt ein.

Auf meinem eigenen Rechner läuft alles ohne Probleme. Möchte ich aber das Programm auf einem anderen Rechner laufen lassen, startet es zwar, aber es zeigt nicht die Funktion die es sollte.

Ist jemandem dieser Fehler bekannt bzw. kann mir weiterhelfen?
Ich wäre euch sehr dankbar.

Viele Grüße,
Hans


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 24.09.2009, 12:45     Titel:
  Antworten mit Zitat      
MCC hat sehr viele Optionen. Vielleicht läuft da was schief. Oder es ist unklar, dass die MCR, die MATLAB Component Runtime Umgebung mit auf dem MATLAB-losen rechner installiert werden muss?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.09.2009, 12:51     Titel:
  Antworten mit Zitat      
Hallo, hast du readme durchgelesen die mit generiert wird.

1) Auf Ziel Rechner muss Matlab Runtime System installiert sein und zwar
genau die Version, unter der es compiliert wurde

MCRInstaller.exe liegt unter matlabroot\toolbox\compiler\deploy\win32\
2) CTF - Archiv muss mitgegeben werden
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2009, 14:49     Titel:
  Antworten mit Zitat      
Hi denny,


auf dem Rechner auf dem ich es ausprobiere, ist Matlab bereits installiert. Nur ist der Pfad ein anderer.

Wo kann ich die Matlab Runtime runterladen?

Und für was genau brauche ich den MCRInstaller.exe?


Viele Grüße,
Andi
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 24.09.2009, 15:25     Titel:
  Antworten mit Zitat      
Es ist Teil des Produktes MATLAB Compiler. Damit können Stand-Alone Applikationen and Bibliotheken erstellt werden. Das VER Kommando zeigt an, ob das Produkt installiert ist. Der Rest ist dann ein Blick in die Doku Smile Suchbegriff mcrinstaller.exe.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.09.2009, 15:36     Titel:
  Antworten mit Zitat      
Hallo

geh in Installation-Ordner von Matlab und dann

\toolbox\compiler\deploy\win32\MCRInstaller.exe
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2009, 17:56     Titel:
  Antworten mit Zitat      
Hi Leute,

also ich habe auf dem andere Rechner den MCRInstaller ausgeführt. Das entpacken des CTF-Files funktioniert dort auch. Nur funktioniert meine Anwendung nicht.

Ich habe nun auf meinem Rechner das Matlab-Verzeichnis für einen kurzen Moment umbennant. Und siehe da, es geht auch nicht mehr!
Sollte mcc nicht alle benötigten Dateien mit in das CTF-File packen und diese dann von dort auch aufrufen? Gibt es eine Möglichkeit ihm beim kompilieren auch ein alternatives MATLAB-Verzeichnis anzugeben auf das er dann beim ausführen zurückgreift?

Als nächstes habe ich mir noch die Verzeichnisse mit Hilfe des Programmes FILEMON angeschaut, die benötigt werden. Die Anwendung möchte unbedingt auf MATLAB zugreifen. Wenn das ursprüngliche Verzeichnis nicht da ist, läuft das Programm nicht.

Was mich an dem Ganzen etwas irritiert ist, dass das Programm prinzipiell läuft, aber eben KEINE Funktion zeigt Sad

Also ich weiß nicht mehr weiter, ich hoffe ihr habt noch was im petto. Danke schon mal.

Viele Grüße,
Hans
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.09.2009, 18:49     Titel:
  Antworten mit Zitat      
Hallo,

hast du bei deinem matlab startup-file?
Ich meine die Pfade, welche automatisch beim Start von Matlab in Search-Path von Matlab angehängt werden?
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2009, 09:09     Titel:
  Antworten mit Zitat      
Hi denny,


woher bekomme ich das startup-file bzw. wo ist es hinterlegt?


Viele Grüße,
Hans
 
Hans09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2009, 09:19     Titel:
  Antworten mit Zitat      
Hi denny,

noch ne Frage dazu.

Wie hilft mir das startup-file mit meinem Problem weiter? Kann ich dann in diesem File meinen Pfad für Matlab hinterlegen und wird dieser dann auch beim Ausführen auf dem anderen Rechner verwendet?

Viele Grüße,
Hans
 
Hans09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2009, 09:39     Titel:
  Antworten mit Zitat      
Hi,

mir ist gerade noch was aufgefallen. Kann es daran liegen, dass ich die falschen Paramter an MCC übergebe? Aber dann sollte es doch bei mir auch nicht laufen?

Mein Aufruf sieht bis jetzt so aus:
Code:
mcc -d BN_komplett -B csharedlib:BN_komplett -I 'C:\FullBNT-1.0.4\BNT\inference\dynamic\@stable_ho_inf_engine' -I 'C:\FullBNT-1.0.4\BNT\general\' -I 'C:\Files'-a 'C:\MATLAB\R2006a\sys\java\jre\win32\jre1.5.0\lib\' -a 'C:\MATLAB\R2006a\sys\java\jre\win32\jre1.5.0\lib\ext\' -a 'C:\MATLAB\R2006a\java\jar\' -a 'C:\MATLAB\R2006a\java\jar\org\' -a 'C:\MATLAB\R2006a\java\jar\toolbox\' -a 'C:\MATLAB\R2006a\java\jarext\' -a 'C:\MATLAB\R2006a\java\jarext\commapi\' -a 'C:\MATLAB\R2006a\java\jarext\distcomp\jini2_0_002\lib\' -a 'C:\Program Files\MATLAB\R2006a\java\jarext\ice\' -a 'C:\MATLAB\R2006a\sys\java\jre\win32\jre1.5.0\lib\fonts\' evidence_besch.m BN_besch.m evidence_ueb.m BN_ueb.m


Ich binde dann die erzeugten Dateien in ein Visual C++-Projekt ein.


Gruß,
Hans
 
Hans09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2009, 15:00     Titel:
  Antworten mit Zitat      
Hi Leute,


hab jetzt nach sehr langer Fehlersuche endlich die Fehler behoben.

Eigentlich ist es ganz einfach gewesen.

1) MCRInstaller installieren

2) In PATH eintragen

und dann sollte es gehn.

Vielen Dank für eure Hilfe.



Viele Grüße,
Hans
 
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 - 2024 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.