Î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?