www.mikrocontroller.net

Forum: PC Hard- und Software Problem mit Scilab/Xcos: ein Fortran oder C Kompiler wird benötigt.


Autor: ratze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe ein Problem mit Xcos. Wenn ich versuche etwas zu simulieren, 
bekomme ich diese Fehlermeldung:

--------------------------------------------\
 Main Modelica : C:\DOCUME~1\ ... \Bridge_Rectifier_im.mo

 Flat Modelica : C:\DOCUME~1\ ... \Bridge_Rectifier_imf.mo
 Simulation C code :C:\DOCUME~1\ ... \Bridge_Rectifier_im.c
   erzeuge eine Laderdatei
   erzeuge ein Makefile
   Führe Makefile aus

!sorry compiling problem                      !
!                                             !
!ein Fortran oder C Kompiler wird benötigt.  !


Welchen Compiler muss ich installieren? Und wie teile ich das dem Scilab 
mit?

Wer hat dazu schon Erfahrungen?
Hier hatte wohl schon jemand das Problem, eine Lösung wird aber nicht 
beschrieben: 
http://permalink.gmane.org/gmane.comp.mathematics....

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ratze schrieb:
> Welchen Compiler muss ich installieren?

Einen FORTRAN- oder C-Compiler. ;-)

Also GCC, GNU FORTRAN, oder f2c mit GCC hintendran.

> Und wie teile ich das dem Scilab
> mit?

Ich würde vermuten, dass Scilab das selbst merkt, wenn es einen "cc"
oder einen "fc" aufrufen kann, denn so heißen die Teile normalerweise.
Sie sollten natürlich dann auch über $PATH zu finden sein.

Autor: ratze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt den lcc installiert, nachdem ich per Google diese 
Empfehlung für Scilab gefunden habe. Aber es funktioniert immer noch 
nicht.
:-(

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann schau mal nach, wo man den C-Compiler konfiguriert, der benutzt
werden soll.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die Verwaltung der weiteren Anwendungen gibt es nichts zum 
einstellen. Der Modulmanager ATOMS sollte das eigentlich machen. Unter 
Toolbox Sceleton gibt es eine Ausgabe, dass ATOMS unter allusers (und 
wenige Standardverzeichnisse) bei Windows sucht. Das konnte ich nicht 
ändern. Somit kann der Compiler nicht gefunden werden. Somit versagt 
hier der Modulmanager.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach langem Probieren habe ich nun die Lösung des Problems gefunden. 
MINGW und GCC müssen bereits seperat (nach-)installiert sein.

1) Erst deinstalliere LCC und MINGW in Module Manager ATOMS, wenn es 
installiert wurde/ist.

2) Dann gib in scilab (5.3.1) auf der Zeile folgendes ein:
   atomsInstall('mingw');
   Beende scilab; (Über die GUI Applications, Module Manager ATOMS ging 
es  nicht, sondern nur über die scilab Zeileneingabe.)

3) Bei Windows unter "Systemsteuerung" wähle "System" Reiter "Erweitert" 
und Button Umgebungsvariablen ergänze dort die Systemvariablen "path" 
und setze/ergänze die Variable "CC".

zum Beispiel:

a) CC=D:\Tutor_Dateien\Anwendungen_Programme\gcc\bin\
b) 
path=....D:\Tutor_Dateien\Anwendungen_Programme\gcc\bin;D:\Tutor_Dateien 
\Anwendungen_Programme\gcc\libexec\gcc\i686-pc-mingw32\4.5.2;D:\Tutor_Da 
teien\Anwendungen_Programme\scicoslab-4.4.1\bin;D:\Tutor_Dateien\Anwendu 
ngen_Programme\gcc\bin;D:\Tutor_Dateien\Anwendungen_Programme\gcc\bin\;D 
:\Tutor_Dateien\Anwendungen_Programme\gcc\
Erst als ich den Pfad auf das bin-Verzeichnis und das darüberliegende 
z.b. gcc-Verzeichnis erweiterte, klappte es.

4) Starte scilab neu. Nun läuft ein Prozess ab, bei dem viele *.a Files 
bearbeitet werden. Das dauert etwas. Nun funktioniert die Anbindung an 
C.
Beim nächsten Neustart läuft natürlich der Prozess nicht nochmal ab.



Die Zeilen in der makelib.mak (...\Lokale 
Einstellungen\Temp\SCI_TMP_...) geben einen versteckten Hinweis, woran 
es liegen könnte:

# list of files
FILES_SRC = Schaltung2_im.c
....
# added libraries
FORTRAN_RUNTIME_LIBRARIES =
OTHERLIBS =
# ------------------------------------------------------
!include $(SCIDIR1)\modules\dynamic_link\src\scripts\Makefile.incl.mak
# ------------------------------------------------------
#CC =
# ------------------------------------------------------
....


Erfolgreich gibt es dann nur eine makelib (ohne mak) und diese ist auch 
länger:

#=============================================================
CC = i686-pc-mingw32-gcc.exe
FC = i686-pc-mingw32-gfortran.exe
LINKER = i686-pc-mingw32-gcc.exe
OBJ = o
#=============================================================
CC_COMMON = -DWIN32 -D_MSC_VER -DSTRICT -DFORDLL $(INCLUDES)
CC_OPTIONS = -c $(CC_COMMON) -m32
FC_OPTIONS = -c
CC_LDFLAGS =

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.