 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
tfv
Anmeldungsdatum: 06.01.2008 Beiträge: 16
|
Verfasst am: 20.09.2008, 17:44 Titel: [GELÖST:] Freebasic erzeugt kein exe mehr |
|
|
Ich arbeite mit fbc20b und FBIde auf verschiedenen Rechnern.
Auf einem Rechner (normaler XP-PC) läuft der Compiler nicht mehr richtig. Dies äussert sich so, dass ein normales hello-World-Programm, das auf anderen PCs problemlos compiliert, nur noch *.o und *.asm files erzeugt, diese aber nicht löscht und kein Exe erzeugt:
Code: |
Print "hello"
sleep
end
|
Der Effekt ist unabhängig von der IDE, tritt genauso auf, wenn ich direkt in der Kommandozeile
fbc -v test.bas
eingebe.
Die Verlaufsanzeige mit der verbose-Option liefert identisch denselben Output wie auf dem Rechner, auf dem vollständig compiliert und gelinkt wird.
Das Freebasic-Verzeichnis steht im Pfad.
Bin ehrlich gesagt relativ ratlos und für alle Tipps dankbar. Verlaufsanzeige hab ich beigefügt.
Code: |
FreeBASIC Compiler - Version 0.20.0 (08-10-2008) for win32 (target:win32)
Copyright (C) 2004-2008 The FreeBASIC development team.
Configured as standalone
compiling: test.bas -o test.asm
assembling: C:\Programme\FreeBASIC\bin\win32\as.exe --32 --strip-local-absolute "test.asm" -o "test.o"
linking: -T "C:\Programme\FreeBASIC\lib\win32\i386pe.x" -subsystem console -s --stack 1048576,1048576 -L "C:\Programme\FreeBASIC\lib\win32" -L "./" "C:\Programme\FreeBASIC\lib\win32\crt2.o" "C:\Programme\FreeBASIC\lib\win32\crtbegin.o" "test.o" -o "test.exe" -( -luser32 -lfb -lgcc -lmsvcrt -lkernel32 -lmingw32 -lmingwex -lmoldname -lsupc++ "C:\Programme\FreeBASIC\lib\win32\fbrt0.o" -) "C:\Programme\FreeBASIC\lib\win32\crtend.o"
|
Zuletzt bearbeitet von tfv am 21.09.2008, 20:44, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 20.09.2008, 20:03 Titel: |
|
|
Hast du schon nach der text.exe auf deiner Festplatte gesucht? Also über die Windows-Suchfunktion? Hast du den aktuellen stabilen Compiler? _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
tfv
Anmeldungsdatum: 06.01.2008 Beiträge: 16
|
Verfasst am: 20.09.2008, 20:11 Titel: |
|
|
Eine test.exe lässt sich mit der Suchfunktion nicht finden.
Ich glaube aber auch eher, dass das Problem darin liegt, dass das Linken abgebrochen wird, das *.o und *.asm-File nicht gelöscht, weil eben *.exe nicht angelegt wurde, da das Linken abgebrochen wurde.
Allerdings gibt's zu diesem Linker-Abbruch keine Fehlermeldung.
Der Linker ist doch fest in fbc.exe eingebaut, sowas wie ein Makefile, das auf ein externes Programm zum Linken verweist, das vielleicht fehlen könnte, existiert nicht? Welche weiteren Voraussetzungen müssen für das Linken gegeben sein? (Weitere Verzeichnisse im PATH, vorhandene libraries, ...)
Die Compilerversion ist 0.20.0 von 08-10-2008 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 20.09.2008, 20:48 Titel: |
|
|
Zitat: | Auf einem Rechner (normaler XP-PC) läuft der Compiler nicht mehr richtig. |
Lief diese Compiler-Version auf diesem Rechner schon einmal?
Evtl. könntest du fbc einfach nochmal de- und neuinstallieren. Vielleicht ist ja bei der Installation was falsch gelaufen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
tfv
Anmeldungsdatum: 06.01.2008 Beiträge: 16
|
Verfasst am: 21.09.2008, 16:23 Titel: |
|
|
Die Compilerversion lief noch nicht, das Problem gabs auch schon bei älteren Compilerversionen, es lief aber schon mal eine Version.
Das Problem kam eher weniger durch eine neue Version, als durch etwas anderes.
Ich hab grade komplett deinstalliert und installiert und es hat nichts geholfen.
Was passiert genau beim Linken, wird ein externes Programm aufgerufen?
Braucht man irgendwelche Windows-Dienste?
Danke für alle Tips. |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 21.09.2008, 17:42 Titel: |
|
|
Also zum Kompilieren wird einmal FBC benötigt, der den FB-Code in ASM-Code übersetzt. Dann kommt der GNU Assembler, der den ASM-Code in Objektcode übersetzt. Und zum Schluss kommt der Linker.
Im FreeBasic-Verzeichnis müsste sich also ein bin\win32-Verzeichnis mit den Dateien ar.exe, as.exe, dlltool.exe, gdb.exe, gorc.exe, gprof.exe, i386pe.x und ld.exe befinden.
Windows-Dienste werden meines Wissens nach nicht benötigt. _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
tfv
Anmeldungsdatum: 06.01.2008 Beiträge: 16
|
Verfasst am: 21.09.2008, 20:01 Titel: |
|
|
@raph ael
Danke, das hilft zunächst mal weiter.
Das Verzeichnis mit allen aufgelisteten exes ist da.
Auch steht c:\programme\Freebasic an erster Stelle im Pfad.
Allerdings steht c:\Programme\FreeBASIC\bin\win32\ ja nicht extra im Pfad, wahrscheinlich wird da mit relativer Pfadangabe aufgerufen. Könnte es sein, dass beim Aufruf z.B. des Linkers sich ein anderes Programm vordrängt? Z.B. ld.exe habe ich öfter auf dem PC.
Wenn klar wäre, bei welchem der Programme abgebrochen wird, könnte ich die Programm gleichen namens umbenennen und mal sehen, ob das exe dann erzeugt wird.
Was tun die einzelnen *.exe genau, und welche der exe werden aufgerufen, nachdem *.o und *.asm erzeugt sind und bevor *.exe generiert ist?
Wenn es die ld.exe ist, wie müsste ich die manuell aufrufen (um zu sehen, ob der Linker abstürzt, und um ggf. einen Workaround zu haben)?
Im voraus besten Dank für alle Tips.
Zuletzt bearbeitet von tfv am 21.09.2008, 20:21, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Eastler_dart

Anmeldungsdatum: 25.09.2005 Beiträge: 177 Wohnort: Baden-Würtemberg + Sachsen
|
Verfasst am: 21.09.2008, 20:21 Titel: |
|
|
hallo Alle,
nachdem Ihr hier die naheliegendsten Möglichkeiten durchprobiert habt, hm.
Folgende Gedanken schwirren mir durch den Kopf:
1) zwar eigentlich als Fehler nicht möglich, aber schon mal als Administrator versucht zu kompilieren? Vielleicht läuft alles normal, nur dein Windows erlaubt dir nicht, eine Exe zu erstellen?
2) gleicher Grundgedanke, aber nicht Windows verbietet dir Exe's zu schreiben, sondern ein anderes "hilfreiches" Programm, Virenscanner oder sonst was verrücktes unterdrückt das erstellen der EXE ?
vielleicht hilfts ja
Eastler _________________ Kaum macht mans richtig, schon geht's |
|
Nach oben |
|
 |
tfv
Anmeldungsdatum: 06.01.2008 Beiträge: 16
|
Verfasst am: 21.09.2008, 20:49 Titel: |
|
|
Eastler_dart
Ein Nebensatz Deines Postings ("anderes hilfreiches Programm") hat mich auf die richtige Fährte gebracht, nachdem wir den Virenscanner ja schon gecheckt hatten:
Für meinen Sohn habe ich ein Kindersicherungsprogramm auf dem PC installiert, nämlich Kindersicherung 2008 von Salfeld:
http://www.salfeld.de/software/kindersicherung/index.html
Obwohl mein Sohn auf einem eigenen User-Account arbeitet und alle Einschränkungen nur dort wirksam sein sollten, lässt sich zumindest durch Ausprobieren feststellen, dass, solange das Programm im Hintergrund läuft, auch auf meinem Account das Compilieren nicht möglich ist. Beende ich das Programm, geht alles wieder wie gewohnt. Ich schicke eine Fehlermeldung an Salfeld.
Wer anderen eine Grube gräbt, ...
Danke allen für das Mitdenken! |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht 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.
|
|