PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Freepascal spackt rum!



RlDdLeR
24.06.2003, 15:38
Hallo!
Wir programmieren in der Schule Pascal, leider. Naja jedenfalls habe ich ein Progg geschrieben. Zum Kompilieren wollt eich Fpc nehmen, aber er meckert beim Linken.



Assembling stats_v2
Linking stats_v2
/usr/bin/ld: cannot find -lvga
stats_v2.pas(191) Error: Error while linking
Closing script ppas.sh


Kennt einer den Fehler oder weiss einer wie ich ih behebe?

RlDdLeR
24.06.2003, 18:48
Wo wir schon gerade dabei sind!

Weiss jemand wo ich die Units crt, graph und dos für Linux herbekomme?

Oder zumindest Äquivalente?

AKFoerster
15.08.2005, 19:11
/usr/bin/ld: cannot find -lvga

Kennt einer den Fehler oder weiss einer wie ich ih behebe?

Das heißt, dass bei die die SVGAlib oder deren Entwickler-Bibliotheken nicht installiert sind. Du brauchst beides.

Das Programm wird hinterher nur laufen, wenn du es setuid root setzt:
chown root program; chmod u+s program

Das Problem liegt nicht an FreePascal, sondern an der SVGAlib.

AKFoerster
15.08.2005, 19:14
Wo wir schon gerade dabei sind!

Weiss jemand wo ich die Units crt, graph und dos für Linux herbekomme?

Oder zumindest Äquivalente?
Die sind standardmäßig dabei. Sowohl bei FreePascal, als auch bei GNU-Pascal.

Für die graph Unit brauchst du bei FPC die SVGAlib (siehe vorheriges posting).
Unter GNU-Pascal ist die graph Unit bei der GRX Bibliothek http://grx.gnu.de/ dabei. Damit kannst du dann auch Anwendungen schreiben, die unter X laufen.

Die DOS Unit is bei beiden Compilern natürlich nur zum Portieren von DOS Programmen gedacht und sollte für neue Unix-Programme nicht verwendet werden.

Udo
16.09.2005, 08:29
Wenn man einfache PASCAL-Programme aus der Schule unter LINUX verwenden will, gibt es eine simple Alternative:
Man installiert einen DOS-Emulator (dosemu und freedos) und darin TURBO-PASCAL (gibt es bei BORLAND im "Borland-Museum" umsonst).

AKFoerster
16.09.2005, 16:13
Wenn man einfache PASCAL-Programme aus der Schule unter LINUX verwenden will, gibt es eine simple Alternative:
Man installiert einen DOS-Emulator (dosemu und freedos) und darin TURBO-PASCAL (gibt es bei BORLAND im "Borland-Museum" umsonst).

Es soll "simpler" sein, einen Pc-Emulator UND ein Betriessystem darin UND einen Compiler darin einzurichten??? Simpler, als einfach nur einen Compiler zu installieren? Das kann doch wohl nicht dein Ernst sein! :headup:

Simpler ist das definitiv nicht, aber auf jeden Fall primitiver! Mit dem Compiler kann man nur DOS Programme schreiben, man ist auf kurze Dateinamen beschränkt, ist auf 64KB pro Datenblock und 640KB insgesamt beschränkt. Strings haben nur eine maximale Länge von 255 Zeichen. Und man kommt noch nicht mal an den Quell-Text des Compilers ran, so dass man ihn verbessern, oder portieren könnte.

All diese Beschränkungen gibt es bei den freien Compilern nicht! Gut, man muss vielleicht ein bisschen umlernen - vor allem bei GNU-Pascal. Free Pascal ist ein wenig kompatibler zu Turbo Pascal, aber genau wie dieses nicht gerade Standard-konform.

Vielleicht noch ein Tipp für den Umgang mit GNU-Pascal. Man benötigt da etwas mehr Parameter. Für den Anfang, versucht es mal mit folgendem Schema als Faustregel:

gpc --automake -o Programmname Programmname.pas

(Viele vergessen das "--automake". Das braucht man aber, da auch die beigefügten Units erst noch kompiliert werden müssen)