Puncte:5

Cum să compilați o aplicație GTK4 în Ubuntu 21.10?

drapel kr

Încerc să compilez o aplicație C GUI folosind GTK4. Mi s-a spus anterior Aici că atât Ubuntu 21.04, cât și 21.10 ar avea atât GTK3, cât și GTK4. Cu toate acestea, când am instalat Ubuntu 21.04, era prezent doar GTK3. Apoi am făcut o dist-upgrade la 21.10 și am constatat că ambele versiuni de GTK sunt native:

utilizator@utilizator: dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
ii libgtk-3-0:amd64 3.24.30-1ubuntu1 amd64 Biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk-3-bin 3.24.30-1ubuntu1 programe amd64 pentru biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk-3-common 3.24.30-1ubuntu1 toate fișierele comune pentru biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk-3-dev:amd64 3.24.30-1ubuntu1 amd64 fișiere de dezvoltare pentru biblioteca GTK
ii libgtk-3-doc 3.24.30-1ubuntu1 toată documentația pentru biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk-4-1:amd64 4.4.0+ds1-5 amd64 Bibliotecă interfață grafică utilizator GTK
ii libgtk-4-bin 4.4.0+ds1-5 programe amd64 pentru biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk-4-common 4.4.0+ds1-5 toate fișierele comune pentru biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk2.0-0:amd64 2.24.33-2ubuntu1 amd64 Biblioteca interfeței grafice cu utilizatorul GTK - versiunea veche
ii libgtk2.0-bin 2.24.33-2ubuntu1 programe amd64 pentru biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk2.0-common 2.24.33-2ubuntu1 toate fișierele comune pentru biblioteca interfeței grafice cu utilizatorul GTK
ii libgtk3-perl 0.038-1 toate legăturile Perl pentru biblioteca interfeței grafice cu utilizatorul GTK+

Doar verificând de două ori versiunea de Ubuntu rezultă:

utilizator@utilizator: lsb_release -a
Nu sunt disponibile module LSB.
ID distribuitor: Ubuntu
Descriere: Ubuntu 21.10
Lansare: 21.10
Nume de cod: ticălos

GTK pagină spune să folosiți următoarele pentru a compila o aplicație GTK4 folosind pkg-config:

gcc $( pkg-config --cflags gtk4 ) -o exemplu-0 exemplu-0.c $( pkg-config --libs gtk4 )

Acesta este foarte asemănător cu versiunile anterioare ale GTK. Pentru GTK3 a fost:

gcc $( pkg-config --cflags gtk+-3.0 ) -o exemplu-0 exemplu-0.c $( pkg-config --libs gtk+-3.0 )

Cu toate acestea, încercarea de a compila programul folosind GTK4 are ca rezultat:

utilizator@utilizator: face
Pachetul gtk4 nu a fost găsit în calea de căutare pkg-config.
Poate ar trebui să adăugați directorul care conține „gtk4.pc”
la variabila de mediu PKG_CONFIG_PATH
Nu a fost găsit niciun pachet „gtk4”.

Deci, pe baza Aici am alergat:

utilizator@utilizator: pkg-config --variable pc_path pkg-config
/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib /pkgconfig:/usr/share/pkgconfig

Căutând toate aceste căi, găsesc doar fișiere .pc legate de GTK /usr/lib/x86_64-linux-gnu/pkgconfig si nu gasesc nimic pentru GTK4. găsesc gtk+-3.0.buc acolo totusi. Deci întrebarea mea este, dacă GTK4 este nativ pentru Ubuntu 21.10, de ce ar lipsi fișierele pkg-config? De unde le obțin ca să pot compila folosind pkg-config?

OPARTARE: Nu am destulă reputație pentru a crea gtk4 etichetă. Ar putea cineva cu destulă reputație să facă asta?

drapel us
Ai instalat `libgtk-4-dev`? Dacă nu, instalați-l cu `sudo apt install libgtk-4-dev`
Leigh K avatar
drapel kr
Nu, nu am făcut-o și asta a rezolvat problema. Nu sunt sigur de ce ar fi necesar atunci când GTK4 era prezent pe sistemul de operare fără ca eu să-l descarc.
drapel us
Nu a fost prezent, este disponibil în depozite pentru a fi descărcat (la fel cum, desktop-ul KDE este disponibil în depozite, dar cel mai probabil nu îl aveți instalat). Nu este prezent implicit deoarece un procent foarte mic de utilizatori (doar cei care dezvoltă aplicații GTK4) îl vor solicita.
drapel us
Am creat eticheta gtk4.
Puncte:6
drapel us

Va trebui să instalați libgtk-4-dev, cu comanda

sudo apt install libgtk-4-dev

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.