새 시스템에 gtk 1.2를 설치하는 방법은 무엇입니까?

새 시스템에 gtk 1.2를 설치하는 방법은 무엇입니까?

Ubuntu 21.04에 gtk 1.2를 설치하여 실행해 보았습니다.오래된 C 프로그램.

glib 1.2를 성공적으로 설치한 후(전문가의 도움)

나는 다음을 사용하여 gtk 1.2를 설치했습니다.Knud에서 제공하는 수정된 파일

sudo apt install ./libgtk1.2-common_1.2.10-18_i386.deb
[sudo] hasło użytkownika a: 
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Odczyt informacji o stanie... Gotowe   
Uwaga, wybieranie "libgtk1.2-common:i386" zamiast "./libgtk1.2-common_1.2.10-18_i386.deb"
libgtk1.2-common:i386 is already the newest version (1.2.10-18).
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.

sudo apt install ./libgtk1.2_1.2.10-18_i386.deb
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Odczyt informacji o stanie... Gotowe   
Uwaga, wybieranie "libgtk1.2:i386" zamiast "./libgtk1.2_1.2.10-18_i386.deb"
Następujące pakiety zostały zainstalowane automatycznie i nie są już więcej wymagane:
  libpthread-stubs0-dev:i386 libx11-dev:i386 libxau-dev:i386 libxcb1-dev:i386
  libxdmcp-dev:i386 libxext-dev:i386 libxfixes-dev:i386 libxi-dev:i386
  x11proto-input-dev
Aby je usunąć należy użyć "sudo apt autoremove".
Następujące pakiety zostaną USUNIĘTE:
  libgtk1.2-dev:i386
Następujące pakiety zostaną zaktualizowane:
  libgtk1.2:i386
1 aktualizowanych, 0 nowo instalowanych, 1 usuwanych i 0 nieaktualizowanych.
Konieczne pobranie 0 B/837 kB archiwów.
Po tej operacji zostanie zwolnione 3 822 kB miejsca na dysku.
Kontynuować? [T/n] t
Pobieranie:1 /home/a/Pobrane/gtk/knud/libgtk1.2_1.2.10-18_i386.deb libgtk1.2 i386 1.2.10-18 [837 kB]
(Odczytywanie bazy danych ... 216199 plików i katalogów obecnie zainstalowanych.
)
Usuwanie pakietu libgtk1.2-dev:i386 (1.2.10-17build1) ...
(Odczytywanie bazy danych ... 215939 plików i katalogów obecnie zainstalowanych.
)
Przygotowywanie do rozpakowania pakietu .../libgtk1.2_1.2.10-18_i386.deb ...
Rozpakowywanie pakietu libgtk1.2:i386 (1.2.10-18) nad (1.2.10-17build1) ...
Konfigurowanie pakietu libgtk1.2:i386 (1.2.10-18) ...
Przetwarzanie wyzwalaczy pakietu man-db (2.9.4-2)...
Przetwarzanie wyzwalaczy pakietu libc-bin (2.33-0ubuntu5)...
N: Download is performed unsandboxed as root as file '/home/a/Pobrane/gtk/knud/libgtk1.2_1.2.10-18_i386.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Brak dostępu)
a@zalman:~/Pobrane/gtk/knud$ sudo apt install ./libgtk1.2_1.2.10-18_i386.deb
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Odczyt informacji o stanie... Gotowe   
Uwaga, wybieranie "libgtk1.2:i386" zamiast "./libgtk1.2_1.2.10-18_i386.deb"
libgtk1.2:i386 is already the newest version (1.2.10-18).
Następujące pakiety zostały zainstalowane automatycznie i nie są już więcej wymagane:
  libpthread-stubs0-dev:i386 libx11-dev:i386 libxau-dev:i386 libxcb1-dev:i386 libxdmcp-dev:i386 libxext-dev:i386 libxfixes-dev:i386
  libxi-dev:i386 x11proto-input-dev
Aby je usunąć należy użyć "sudo apt autoremove".
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.

확인하다:

ldconfig -p

libgtksourceview-4.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgtksourceview-4.so.0
    libgtkmm-3.0.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
    libgtk-3.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgtk-3.so.0
    libgtk-1.2.so.0 (libc6) => /lib/libgtk-1.2.so.0
    libgtk-x11-2.0.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0

이제 프로그램을 컴파일할 수 있습니다.

make
/usr/bin/gcc -std=gnu89 -Wall -g -I /usr/include/glib-1.2 -I /usr/include/gtk-1.2 -I /usr/lib/glib/include  -o julia2 complex.o imagearea.o zero.o cpoly.o julia2.o `gtk-config --cflags` `gtk-config --libs` -lgthread
/bin/sh: 1: gtk-config: not found
/bin/sh: 1: gtk-config: not found
/ usr / bin / ld: leave incompatible /usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/libgthread.a when looking for -lgthread
/ usr / bin / ld: leave incompatible /lib/../lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /lib/../lib/libgthread.a when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/../lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/../lib/libgthread.a when looking for -lgthread
/ usr / bin / ld: leave incompatible /usr/lib/gcc/x86_64-linux-gnu/10/../../../libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/gcc/x86_64-linux-gnu/10/../../../libgthread.a when -lgthread is searched
/ usr / bin / ld: leave incompatible /lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /lib/libgthread.a when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/libgthread.a when -lgthread is searched
/ usr / bin / ld: cannot find -lgthread
/ usr / bin / ld: leave incompatible /usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /lib/../lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/../lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/gcc/x86_64-linux-gnu/10/../../../libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /lib/libgthread.so when -lgthread is searched
/ usr / bin / ld: leave incompatible /usr/lib/libgthread.so when -lgthread is searched
collect2: error: ld returned 1 exit status
make: *** [makefile:13: julia2] Błąd 1

수동 검사 결과 "/usr/include/gtk-1.2" 디렉토리가 없는 것으로 나타났습니다.

개발 패키지를 설치해야 합니까?

===========편집=======================

개발 패키지 설치:

sudo apt install ./libgtk1.2-dev_1.2.10-18_i386.deb
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Odczyt informacji o stanie... Gotowe   
Uwaga, wybieranie "libgtk1.2-dev:i386" zamiast "./libgtk1.2-dev_1.2.10-18_i386.deb"
libgtk1.2-dev:i386 is already the newest version (1.2.10-18).
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.

답변1

예, 관련 패키지를 설치해야 합니다 -dev(Gtk 및 Glib 및 해당 종속성용).

실행하려는 모든 프로그램을 빌드하기 위해 이러한 라이브러리의 이전 버전을 사용하려는 경우 amd64설치된 버전 대신 버전을 설치하는 것이 더 쉬울 수 있습니다. 이렇게 하면 두 아키텍처 모두에서 패키지를 처리하는 번거로움을 i386피할 수 있습니다 .-common

관련 정보