Nachdem das obige Problem gelöst war, konnte er anscheindend die SDL Libs nicht finden: usr/bin/ld cannot find -lSDL.
Beim Versuch das zu fixen hab ich mir offensichtlich irgendwas an Ubuntu kaputtgemacht. Ich kann nämlich weder
Lazarus noch FPC installieren, die sind auch nicht mehr vorhanden.
Irgendwie bin ich zu dämlich das gescheit zum Laufen zu bekommen (unter Linux). Eigentlich sah alles so einfach aus, Ubuntu instaliert, in diesem
Hinzufügen/Entfernen Programm Lazarus markiert und installiert und fertig. Da kann man ja normalerweise nichts falsch machen...
Wie habt ihr das denn hinbekommen? Ich komme mir im Moment total dumm vor
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Zitat:
Wie habt ihr das denn hinbekommen? Ich komme mir im Moment total dumm vor
Du hast nicht das Privileg, als einziger dumm zu sein. Ich beanspruche dieses Rechte genauso für mich auch
Ich gestehe, Ich habe bei meiner ersten Lazarus-Installation auch gemurkst, mir gings dabei so ähnlich wie Dir. Einmal drüber schlafen ist eine gute Idee. Eine weitere gute Idee wäre, nicht den Lazarus 0.9.24 zu installieren, sondern den Lazarus 0.9.26, denn dieser passt viel besser zu FPC 2.2.2. Wenn Du möchtest, können wir das morgen (oder eigentlich heute) wieder in Ordnung bringen. Jetzt ist aber vier Uhr morgens und ich bin hundemüde.
Traude
ich hab vorhin die "Synaptic-Paketverwaltung" gefunden, und da kommte man die SDL Entwicklungs Libs installieren.
Jetzt funktioniert Lazarus auch, ich konnte das Programm kompilieren und es läuft.
Nur leider hab ich nen schwarzen Bildschirm, was aber anscheinend an der TextSuite (oder SDL_TTF) liegt und nicht an irgendwelchen
"Installationsproblemen"
Markus
Edit: Die TextSuite Demos gehen auch nicht - der Text wird nicht dargestellt. Ich hab aber alle Libs (sdl_image, sdl_ttf..) installiert. Galube ich jedenfalls.
Woran kann das liegen?
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Kannst du denn irgendetwas anderes mit OpenGL zeichnen? Das wäre ja dann schonmal ein guter Anfang.
Generell: Wenn irgendwelche Dateien bei -l fehlen, versuchs immer mit einer entsprechenden Bibliotheksinstallation. Dateien die nicht gefunden oder geschrieben werden können, wenn sie aber doch existieren (und die Pfade richtig gesetzt sind), dann sind es meistens die Zugriffsrechte.
Die x64 Systeme machen mit SDL und FPC übrigens einige Probleme. Du solltest bei Lazarus daher als Compilertarget i386 einstellen (geht in den Projekteinstellungen, Compiler). Das sollte das ganze beheben. Sonst kommt es zu interessanten Problemen beim laden von Texturen zum Beispiel.
@Deathball:
Ja, da magst du recht haben. Allerdings kam hier in der Diskussion der Eindruck auf, als ob keiner sich darüber gedanken macht, dass es auch einen Mittelweg gibt. Dass die Argumentation auf ein entweder Libs oder tief in der API arbeiten hinauslief. Da wollte ich mal etwas interferieren. Klar, wenn man lernen will und Spaß hat, sich durch die API-Funktionen zu wühlen (ich selbst tue das auch gerne, zum Beispiel habe ich mich mal durch die halbe Shell gewühlt, um einen Filebrowser-Ansatz zu schreiben), dann ist der direkte Weg ohne Bibliotheken sicherlich okay. Und wir programmierer sind bei sowas immer unvernünftig. Man siehe sich doch einfach mal mich an, der sich ne eigene Scriptsprache schreibt... .
Klar, SDL hat nachteile, die wirklich nciht von der Hand zu weisen sind. Wie ich gerade schon gesagt habe, gibts probleme mit x64. Da muss man überlegen, wie man das fixt. Leider konnte ich damals die genaue Ursache nicht ausfindig machen, nur, dass meine Daten irgendwie nie da angekommen sind, wo ich sie haben wollte. Die Sache mit "nur ein Fenster" sollte bei Tuxbomber kein Problem darstellen. Dass bei einer größenänderung der komplette OpenGL-Kontext verloren geht ist grausam und gemein, aber solange man nicht gerade die Auflösung wechselt ist das bei einem Spiel eigentlich kein Problem (außer im Fenstermodus - aber da würde ich ein Resize nicht unbedingt erlauben).
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
ja, ich kann was anderes Zeichnen, OpenGL funktioniert. Es ist sehr gut möglich, dass es an den Texturen liegt, denn wenn ich das Blending
ausschalte, sehe ich die schwarzen Quads, wo eigentlich der Text sein sollte.
Ich werde mal auf x86 umschalten, da sagt mir Lazarus aber, dass die system.ppu fehlt. Klar, ich hab ja auch FPC für AMD64 installiert. Bevor ich jetzt was
kaputtmache frage ich, ob ich das so installieren kann:
Auf SourceForge gehen und "fpc-2.2.2-3-debs.tgz" runterladen.
Das dann installieren und hoffen, dass nichts überschrieben wird
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Nein, das glaube ich nicht.
Das Crosscompiling sollte doch so funktionieren: Du musst die für Dein System (32 oder 64 bit) geeigeneten Pakete installieren und dann gibt es, soweit ich gesehen habe, noch ein Paket namens "Crosscompiling" (oder so ähnlich).
Und was die TextSuite betrifft: da würde ich unbedingt auf Lossys statement warten.
Ich habe mal auf Lossys Seite geschaut, und da steht unter ToDo, dass noch die 64-Bit Unterstützung aussteht.
Deswegen hab ich einfach mal in 32-Bit kompiliert und siehe da - es geht. Ob es jetzt an der TextSuite oder an Problemen mit Texturen gelegen hat,
weiß ich nicht. Ich bin auf alle Fälle froh, dass jetzt alles funktioniert. Danke schonmal für eure Hilfe!
Jetzt gehts erstmal ans Portieren. Das könnte aber etwas dauern, weil in nächster Zeit noch mein Abitur ansteht
ich kann nicht direkt was zum thema sagen, aber will trotzdem was loswegen vonwegen SDL (bzw. Fremdlibs) oder selbst machen.
Bei meiner Engine stand ich auch anfangs vor der frage ob ich etwas wie SDL benutze oder es selbst mache.. die frage war für mich sehr schnell beantwortet: Selber machen.
Das ist bei mir allerdings auch stark durch eine grundsatz-sache begründet, ich hasse es mich von Fremdlibs abhängig zu machen.. es kommt IMMER der moment wo man etwas braucht was es einfach nicht gibt, und dann wird es unter umständen richtig umständlich.
Dazu kommt noch das man wenn man dinge wie SDL, QT, libXML etc verwendet die libs für jede Platform sich meist (in C++ zumindest) selbst compilieren muß, und das finde ich jedesmal horror.. (Bei mir geht das aber auch soweit das ich eigene Klassen für XML, Strings, Arrays etc geschrieben habe)
Ich erstelle also meine Fenster etc alle von hand für jedes System (Bisher Windows und MacOSX), klar war das durchaus ein kampf am anfang, vorallem bei MacOSX weil ich mich dafür erst noch in eine neue API + Programmiersprache (Objective-C) einarbeiten mußte. Allerdings kann ich dafür jetzt auch behaupten das ich zu den wenigen menschen gehöre die wissen wie man unter OSX ein Fenster erstellt OHNE sich via InterfaceBuilder eins zusammen zu klicken.
Da hatte ich riesen probleme mit und hab mich in tausend foren und mailing listen durchgefragt.. man bekommt immer nur die gleiche antwort "Welcher trottel macht denn das selbst?! Dafür ist InterfaceBuilder da!". Was ich da nur keinem klar machen konnte war das es mir zum einen um den lern-effekt geht und zum anderen es mit IB extrem umständlich gewesen wäre.
Ich kann jedem der gerne lernen möchte nur empfehlen dinge selbst zu machen, auch wenn es mal länger dauert.. am ende erspart es einem u.U. sehr viel arbeit.
Allerdings kommt es auch stark auf das Programm an.. ein normales Programm mit knöpfen etc würde ich auch ganz stink normal via Qt machen
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.