Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
MindWorm
Anmeldungsdatum: 11.12.2007 Beiträge: 6
|
Verfasst am: 11.12.2007, 10:37 Titel: include funktioniert nicht wie gewollt |
|
|
Hallo,
Ich habe gestern FreeBASIC entdeckt und wollte es gleich mal testen. Ich benutze Xubuntu 7.10 und als Editor Scite. FreeBASIC und alle benötigten Pakete sind meines Wissens korrekt installiert und auch Scite ist soweit fertig für FreeBASIC eingerichtet (Syntax-Highlighting, F5=Compile+Run etc.).
Trotzdem scheitere ich an einer vergleichsweise einfachen Aufgabe wie dem Einfügen einer Datei mittels #include. Folgender Code lässt sich nicht kompilieren:
Code: |
#include "/usr/share/freebasic/inc/fbgfx.bi"
screenres 640, 480, 32, 2, GFX_FULLSCREEN
sleep
|
Die Fehlermeldung(en):
Code: |
>fbc test.bas && ./test
test.bas(4) error 41: Variable not declared, GFX_FULLSCREEN in 'screenres 640, 480, 32, 2, GFX_FULLSCREEN'
test.bas(4) warning 12(0): Implicit variable allocation, GFX_FULLSCREEN
>Exit code: 1
|
Die Datei fbgfx ist vorhanden (und auch genau im angegebenen Pfad). Leider kann ich nicht erkennen, was ich da falsch mache.
Natürlich kann ich das #include einfach weglassen und screenres 640, 480, 32, 2, &h01 schreiben, dann funktioniert's, aber in fbgfx.bi befinden sich ja noch weitere nützliche Konstanten, die ich schon gerne nutzen würde.
Bin dankbar für jede Hilfe. |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
Verfasst am: 11.12.2007, 11:19 Titel: |
|
|
Probier mal:
Code: | #include "fbgfx.bi" |
http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgInclude hat Folgendes geschrieben: | For relative paths, or where no path is given at all, the include file is search for in the following order:
Relative from the directory of the source file
Relative from the current working directory
Relative from addition directories specified with the -i command line option |
Es macht mich dennoch etwas stutzig, denn dein angegebener absolute Pfad müsste genauso funktionieren. _________________ +++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial |
|
Nach oben |
|
 |
MindWorm
Anmeldungsdatum: 11.12.2007 Beiträge: 6
|
Verfasst am: 11.12.2007, 11:40 Titel: |
|
|
Danke für die schnelle Antwort.
Leider auch mit relativem Pfad
Code: |
#include "fbgfx.bi"
|
das gleiche Ergebnis.
Muss man evtl. dem Compiler mitteilen, dass Dateien über #include eingebunden werden sollen? Dann wäre mein Compile-Befehl in Scite falsch ( command.compile.*.bas=fbc $(FileNameExt) ). Kann ich mir aber eigentlich nicht vorstellen, da das bei anderen wohl so funktioniert. |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 11.12.2007, 12:08 Titel: |
|
|
Hi,
in der fbgfx.bi werden diese Konstanten im 'namespace FB' definiert also:
Code: | #INCLUDE "fbgfx.bi"
SCREENRES 640, 480, 32, 2, FB.GFX_FULLSCREEN
SLEEP |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
MindWorm
Anmeldungsdatum: 11.12.2007 Beiträge: 6
|
Verfasst am: 11.12.2007, 12:38 Titel: |
|
|
Jaaa, es funktioniert, vielen Dank!
Darauf wäre ich so schnell nicht gekommen. |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 11.12.2007, 12:54 Titel: |
|
|
Manchmal sind's die kleinen Fehler die selbst einem Profi zu schaffen machen
Auch ich musste beim lesen deines Beitrages stark überlegen, und bei Volta's Posting ist es mir wieder eingefallen  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 11.12.2007, 20:37 Titel: |
|
|
statt überall das FB. für den namespace vorneranzuhängen, würde ich lieber in die erste zeile
schreiben...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
MindWorm
Anmeldungsdatum: 11.12.2007 Beiträge: 6
|
Verfasst am: 12.12.2007, 11:02 Titel: |
|
|
Auch ein sehr nützlicher Tipp, das mit dem using, mache ich jetzt so, thx
Btw. hab ich vorher mit BlitzBasic unter Windows kleine Spiele programmiert, der Wechsel zu FreeBASIC erweist sich als schwieriger als angenommen. In FreeBASIC sind einige Dinge doch 'ne ganze Ecke schwieriger zu bewerkstelligen. Aber ich bin ja lernwillig
Momentan scheitere ich an der Benutzung der FreeImage-lib. Unter Windows XP beklagt der Compiler die angeblich fehlende DLL, die sich aber sehr wohl im lib-Ordner befindet und für Linux hab ich bisher noch garkeine FreeImage-lib gefunden bzw. weiß auch garnicht, wo ich suchen soll. Forumsuche und Google haben mir da nicht wirklich geholfen  |
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 12.12.2007, 11:55 Titel: |
|
|
Zitat: |
Btw. hab ich vorher mit BlitzBasic unter Windows kleine Spiele programmiert,
|
blitz-basic ist doch sehr gut, warum machst du damit nicht weiter?
bei freebasic kommst du schon vom programmierstil in den c-bereich rein.
wird nicht so einfach und hat noch viele haken und ösen. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 12.12.2007, 12:18 Titel: |
|
|
MindWorm hat Folgendes geschrieben: | Momentan scheitere ich an der Benutzung der FreeImage-lib. Unter Windows XP beklagt der Compiler die angeblich fehlende DLL, die sich aber sehr wohl im lib-Ordner befindet und für Linux hab ich bisher noch garkeine FreeImage-lib gefunden bzw. weiß auch garnicht, wo ich suchen soll. Forumsuche und Google haben mir da nicht wirklich geholfen  |
Im Lib-Ordner sind nur statische Links (oder wie das heißt) drin, du benötigst die eigentliche freeimage-dll aber noch, die du seperat auf der freeimage-webseite runterladen musst. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 12.12.2007, 15:47 Titel: |
|
|
Libs, die statisch eingelinkt werden. Oder wie auch immer.
@atari:
Wenn du dauernd andere Sprachen für so toll befindest, warum gehst du dann nicht? _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 12.12.2007, 21:58 Titel: |
|
|
Mao, warum fragst du das?
Du weißt doch genau, daß Mr. 1000-Nicks nur dort posten kann,
wo er noch nicht (endgültig) rausgeflogen ist..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
MindWorm
Anmeldungsdatum: 11.12.2007 Beiträge: 6
|
Verfasst am: 13.12.2007, 09:01 Titel: |
|
|
atari hat Folgendes geschrieben: |
blitz-basic ist doch sehr gut, warum machst du damit nicht weiter?
bei freebasic kommst du schon vom programmierstil in den c-bereich rein.
wird nicht so einfach und hat noch viele haken und ösen. |
BlitzBasic ist eine klasse Sprache, wenn man Spiele unter Windows programmieren will. Aber 1. möchte ich einen Schritt in Richtung Anwendungsprogrammierung gehen und 2. sollen meine Programme in Zukunft auch unter Linux laufen.
Da gibt es als Option noch BlitzMax mit MaxGUI-Modul, was aber weniger kostengünstig als FreeBASIC ist. Außerdem scheint mir FreeBASIC bisher zwar schwieriger zu sein, dafür aber auch weniger Schranken aufzuweisen und damit vielleicht die etwas "ernstere" Sprache zu sein.
Zu meinem FreeImage-Problem: Unter Windows gelöst, unter Linux arbeite ich noch dran. Ich habe die FreeImage-Pakete über Synaptic installiert, der fbc merkt davon allerdings nichts. Was muss ich da noch machen, damit er die lib benutzen kann? |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4699 Wohnort: ~/
|
Verfasst am: 13.12.2007, 10:15 Titel: |
|
|
Hast du auch die dev-Pakete installiert? (heißen in der Regel paketname-dev) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
MindWorm
Anmeldungsdatum: 11.12.2007 Beiträge: 6
|
Verfasst am: 13.12.2007, 10:54 Titel: |
|
|
Japp, hab ich. Evtl die falsche Version?
libfreeimage3 Ver. 3.9.3-3 und libfreeimage-dev Ver. 3.9.3-3 |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 13.12.2007, 22:36 Titel: |
|
|
Hi,
zu FreeImage unter Linux kann ich dir nicht helfen, nur ein Hinweis, der mir zu Freeimage und Win32 auffiel:
die Freeimage.bi war auf dem Stand von Freeimage 3.5.0,
alle Variablen die als 'single' darin deklariert waren wurden in Freeimage als 'double' erwartet.
Nach kleinen manuellen Änderungen an der bi lief es aber mit der Freeimage.dll(Version3.9.3). _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4699 Wohnort: ~/
|
Verfasst am: 13.12.2007, 23:11 Titel: |
|
|
Ich hatte mal bei einer manuell installierten lib das Problem, dass im Dateinamen die Versionsnummer enthalten war, FreeBASIC aber die lib ohne Versionsnummer erwartete. Lässt sich durch Umbenennen bzw. das Erstellen eines Links lösen. Wenn du die lib allerdings über Synaptic installiert hast, vermute ich, dass dies nicht der Grund ist.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 14.12.2007, 20:08 Titel: |
|
|
da kann ich dir auch gfa32-basic (jetzt freeware) empfehlen. super, mit deutsche anleitung bis ins detail. |
|
Nach oben |
|
 |
|