|
|
scilab 4.1.2: Probleme beim kompilieren mit VSC++ Expr. 2005 |
|
franzi |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.05.2011, 09:41
Titel: scilab 4.1.2: Probleme beim kompilieren mit VSC++ Expr. 2005
|
|
|
|
|
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: ---
|
|
|
|
|
|
Verfasst am: 09.05.2011, 20:29
Titel: Ergänzung
|
|
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: ---
|
|
|
|
|
|
Verfasst am: 09.05.2011, 20:33
Titel: Nachtrag
|
|
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
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 05.04.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.05.2011, 08:33
Titel:
|
|
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?
|
|
|
franzi |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2011, 16:42
Titel: Danke für die Antwort!
|
|
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 . 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 . Hat hier irgendjemand eine Idee wies trotzdem geht?
|
|
|
franzi |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.05.2011, 19:31
Titel: Ergänzung
|
|
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?
|
|
|
|
|
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 - 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.
|
|