Komponenten neu kompilieren

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

Komponenten neu kompilieren

Beitrag von ts230 »

Wie kann ich die Komponenten fur GTK2 kompilieren?
Was muss ich beachten?
Gibt es viel Handarbeit?
Gut wäre eine schrit-für-schritt Anleitung
Bitte helft mir.

Code: Alles auswählen

  1.  If beitragHilfreich then leseitdurch()
  2. else volle_ignoranz();

tiersendung.funpic.de

KOBOLD Messring GmbH
Beiträge: 155
Registriert: Mi 22. Aug 2007, 14:52
OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 65719 Hofheim am Taunus
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von KOBOLD Messring GmbH »

Da gibts ein Wiki:
http://wiki.freepascal.org/GTK2_Interface
Eigene Anmerkungen/Erfahrungen dazu:
Now compile the LCL for gtk2. First open your normal compiled Lazarus. Then go on the menu "Tools" --> "Configure Build Lazarus". Set LCL to "clean+build" and everything else to "None". Now select "gtk2" and click on the "Ok" button. Next go to the menu "Tools" --> "Build Lazarus". Now the LCL is compiled for gtk2 too. (Note: the default widgetset is still there and not overwritten).
To compile a project for gtk2 just select it as the target widgetset on the Compiler Options dialog.
Bei mir (Lazarus 0.9.26) schon: Projekt | Compiler-Einstellungen | Widgetset steht dann automatisch auf gtk2

At this moment the Lazarus IDE can be compiled for gtk2, but it is slow and it can crash on some window managers.
Bei Linux-KDE merke ich da keinerlei Geschwindigkeitsunterschiede.
Bei WinXP funktioniert folgendes bei mir nicht korrekt: Form.ShowModal und FormShow bringen das Fenster nicht in den Vordergrund, es geht nur die Farbe von der (alten) Fenstertitelleiste auf "Fenster im Hintergrund-Farbe" und man muss einmal "Alt-Tab" drücken. Sehr unschön, deshalbe baue ich Projekte, die sowas brauchen unter Windows mit win32/64-widgetset. Wenn man das nicht braucht, kann man ruhig gtk2 nehmen, finde ich unter Windows auch schöner, aber das ist Geschmacksache... (bitte jetzt keine Diskussion darüber anfangen)

ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von ts230 »

Ja,
aber da ist nichts für Linux ):
Da ist nur Windows und MAC OS X
oder habe ich da was Übersehn?

Code: Alles auswählen

  1.  If beitragHilfreich then leseitdurch()
  2. else volle_ignoranz();

tiersendung.funpic.de

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von Euklid »

ts230 hat geschrieben:Ja,
aber da ist nichts für Linux ):


Doch: http://wiki.freepascal.org/GTK2_Interfa ... BSD.2C_etc

Funktionierte bei mir sogar ohne Probleme :)

ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von ts230 »

Wenn ich mein Programm für gtk2 kompiliere,sagt er dass er gtk2int nicht finden kann.
Wenn ich aber STRK drücke und draufclicke,erscheint die datei.
Was ist muss ich machen dass dass funktioniert?

Code: Alles auswählen

  1.  If beitragHilfreich then leseitdurch()
  2. else volle_ignoranz();

tiersendung.funpic.de

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: Komponenten neu kompilieren

Beitrag von creed steiger »

Die LCL hast du aber schon für GTK2 erstellt?
(Werkzeuge-Lazarus erstellen einrichten-LCL erstellen(GTK2))

ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von ts230 »

Wenn ich die LCL kompiliere ist das alles was ich bekome:

Code: Alles auswählen

make: Entering directory `/usr/lib/lazarus/lcl'
Makefile:171: *** The Makefile doesn't support target i368-linux, please run fpcmake first.  Stop.
make: Leaving directory `/usr/lib/lazarus/lcl'

Was bedeutet das?
Im Makefile(ersten Zeilen) steht dass:

Code: Alles auswählen

MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-embedded
BSDs = freebsd netbsd openbsd darwin

da ist doch i368-linux :?

Code: Alles auswählen

  1.  If beitragHilfreich then leseitdurch()
  2. else volle_ignoranz();

tiersendung.funpic.de

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von monta »

Kann es sein, das du irgendwas über verschiedene Plattformen hinweg zusammenwurschtelst?

Oder willst du von Windows auf Linux kompilieren? Gib mal nen paar Daten zum System...Welche Lazarusversion, welcher Host, welches Zielsystem. Deine Frage ist da doch recht algemein gehalten. Unter Linux für GTK2 zu kompilieren ist im allgemeinen, abgesehen von ein paar Bibliotheken die eventuell fehlen recht einfach. Da ist mir die Meldung noch nie begegnet.
Johannes

ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von ts230 »

Lazarusversion:0.9.24
Host:Ubuntu 8.10
Ziel:Ubuntu 8.10
Beim installieren von libgtk2.0 über gdebi sagte er dass eine neuere Version schon installiert ist.
ich hab schon »fpcmake« im Verzeichniss /usr/lib/lazarus/lcl ausgeführ,es sagt auch brav "Writing makefile..."
Sonst sagt fpcmake das:

Code: Alles auswählen

tristan@zoidberg:/usr/lib/lazarus/lcl$ fpcmake
Processing Makefile.fpc
 i386-linux requires: rtl,x11,opengl,gtk
 Writing Makefile
tristan@zoidberg:/usr/lib/lazarus/lcl$

Code: Alles auswählen

  1.  If beitragHilfreich then leseitdurch()
  2. else volle_ignoranz();

tiersendung.funpic.de

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Komponenten neu kompilieren

Beitrag von theo »

0.9.24 ist alt.

Installier die letzte SVN Version z.B. von hier: http://www.hu.freepascal.org/lazarus/
Ubuntu 8.10 hat Probleme mit GTK2, deshalb unbedingt FPC 2.2.3 installieren, damit geht's.

ts230
Beiträge: 109
Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von ts230 »

ok.
Das fpc mit

Code: Alles auswählen

apt-get install fpc2.2.3
installieren?

Code: Alles auswählen

  1.  If beitragHilfreich then leseitdurch()
  2. else volle_ignoranz();

tiersendung.funpic.de

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Komponenten neu kompilieren

Beitrag von theo »

ts230 hat geschrieben:ok.
Das fpc mit

Code: Alles auswählen

apt-get install fpc2.2.3
installieren?


Italienisch, aber müsste schon zu verstehen sein:
http://www.thefox.it/2009/02/14/lazarus ... ra-ubuntu/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Komponenten neu kompilieren

Beitrag von monta »

ich würde einfach das tar nehmen:
ftp://ftp.freepascal.org/pub/fpc/beta/2 ... 386-linux/

dann musst du nur entpacken und install.sh mit root-Rechten ausführen und fertig.

Ist dann natürlich nicht in der Paketverwaltung, aber da muss fpc auch nicht unbedingt sein, finde ich zumindest.
Johannes

Antworten