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

scilab 4.1.2: Probleme beim kompilieren mit VSC++ Expr. 2005

 

franzi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2011, 09:41     Titel: scilab 4.1.2: Probleme beim kompilieren mit VSC++ Expr. 2005
  Antworten mit Zitat      
Hallo!
Mein Problem ist folgendes: Ich habe das Tutorial "Creating a C Function Block in Scicos" von Phil Schmidt (findet man leicht auf google) durchgearbeitet und habe dabei die Scilab 5.3.1 zusammen mit VSC++ Express 2010 und SDK 7.1 verwendet. Das Programm funktioniert einwandfrei (kompilieren ist kein Problem), ich bekomme genau die gleichen Ergebnisse.

Nun muss ich aber aus bestimmten Gründen das ganze mit der Scilab Version 4.1.2 erledigen, ich habe dazu VSC++ Express 2005 und Windows Server 2003 SP1 Platform SDK installiert. Beim kompilieren kommt allerdings folgender Fehler:

-->ilib_for_link('lim_int_comp','lim_int_comp.o',[],'c');
generate a loader file
generate a Makefile: Makelib
running the makefile
compilation of lim_int_comp
cl : Befehlszeile warning D9002 : Unbekannte Option "-G5" wird ignoriert.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 8\VC\bin\cl.EXE"": Rückgabe-Code "0x2"
Stop.
!--error 10000
unix_s: error during ``nmake /Y /nologo /f Makelib.mak lim_int_comp.obj'' execu
at line 50 of function unix_s called by :
line 25 of function ilib_compile called by :
line 29 of function ilib_for_link called by :
ilib_for_link('lim_int_comp','lim_int_comp.o',[],'c');

Link zum Tutorial :
http://www-scicos.inria.fr/ScicosCBlockTutorial.pdf

Ich habe keine Ahnung was hier nicht stimmt. Allerdings bin ich beim probieren draufgekommen, dass man das file kompilieren kann, wenn man Zeile 58 (Xdot=gain*in) auskommentiert. Aber das file macht halt so keinen Sinn.

Danke im Voraus und schönen Tag!


franzi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2011, 20:29     Titel: Ergänzung
  Antworten mit Zitat      
Hallo!

Ich hab nochmal herumprobiert und mir ist nun klar dass in der datei scicos_block4.h der Ausdruck GetDerState (in Zeile 24), welche den Pointer auf die Ableitung des Zustandes zurückgibt, nicht existiert. Daher kann man in der Zeile 58 logischerweise nicht auf Xdot zugreifen. Somit ist der Fehler zwar lokalisiert, mir ist aber nicht klar, wie ich das Problem lösen kann.

Hat irgendjemand eine Idee?

Danke
 
franzi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2011, 20:33     Titel: Nachtrag
  Antworten mit Zitat      
Nachtrag: Das Problem hat also definitiv nichts mit dem Kompiler zu tun. Kann es sein, dass der Block GENERIC in der Scilab Version 4.1.2 noch nicht richtig funktioniert?
 
TheSaint
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 05.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.05.2011, 08:33     Titel:
  Antworten mit Zitat      
Ich vermute, du hast mit deiner Annahme recht. Es wurde schon an mehreren Stellen hier im Forum erklärt, dass mit jeder weiteren Version Änderungen und Erweiterungen realisiert werden.
Weiß da jemand genaueres dazu?

Hältst du es nicht für sinnvoller auf die alte Scilab-Version zu verzichten?
Private Nachricht senden Benutzer-Profile anzeigen
 
franzi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2011, 16:42     Titel: Danke für die Antwort!
  Antworten mit Zitat      
Ich habs heute geschafft. Dazu musste ich die h Datei scicos_block4.h im Installationsverzeichnis editieren. Man muss einfach folgende Zeilen hinzufuegen:

/**
\brief Get pointer of the derivative of the continuous state.
*/
#define GetDerState(blk) (blk->xd)

und schon klappt es Very Happy . Die Idee mit der neueren Version ist zwar gut, allerdings kann ich die Interfacing function, welche in der Version 4.1.2 einwandfrei funktioniert, nicht verwenden. In der Version 4.1.2 muss man die Interfacing function mit exec ausführen und dann den Block einfach über edit --> add new block ins scicos diagram einfügen. Aber edit --> add new block gibt es in der Version 5 nicht mehr Crying or Very sad . Hat hier irgendjemand eine Idee wies trotzdem geht?
 
franzi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2011, 19:31     Titel: Ergänzung
  Antworten mit Zitat      
Hallo! Hat jemand eine Idee wie man die Interfacing function in XCOS (5.3.1) laden kann. Also ich hätte es so gemacht (funktioniert aber nicht):

1) Verzeichnis richtig einstellen
2)
genlib("my_lib",pwd()); // erstellt bin datei aus der interfacing sci datei
create_palette(pwd()); // sollte palette erstellen --> liefert aber GUI error
load lib;

Funktioniert, wie gesagt, leider nicht! Hat das von euch schon jemand probiert? Sad
 
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.