Forum Linux.pl

Oprogramowanie => Instalacja oprogramowania => Wątek zaczęty przez: mackeire w 2020-01-15, 22:42:25

Tytuł: Prośba o pomoc w zainstalowaniu programu
Wiadomość wysłana przez: mackeire w 2020-01-15, 22:42:25
Chciałem zainstalować programik : https://github.com/PeterCxy/evdev-right-click-emulation

Doinstalowałem zależności , uruchomiłem make all tak jak jest opisane ale coś idzie nie tak

$ make all
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c uinput.c -o out/uinput.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c input.c -o out/input.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c rce.c -o out/rce.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 out/uinput.o out/input.o out/rce.o -o out/evdev-rce
out/uinput.o: In function `uinput_initialize':
uinput.c:(.text+0x18): undefined reference to `libevdev_new'
uinput.c:(.text+0x2f): undefined reference to `libevdev_set_name'
uinput.c:(.text+0x40): undefined reference to `libevdev_enable_event_type'
uinput.c:(.text+0x5b): undefined reference to `libevdev_enable_event_code'
uinput.c:(.text+0x78): undefined reference to `libevdev_uinput_create_from_device'
uinput.c:(.text+0x90): undefined reference to `libevdev_free'
out/uinput.o: In function `uinput_send_right_click':
uinput.c:(.text+0xd1): undefined reference to `libevdev_uinput_write_event'
uinput.c:(.text+0xec): undefined reference to `libevdev_uinput_write_event'
uinput.c:(.text+0x107): undefined reference to `libevdev_uinput_write_event'
uinput.c:(.text+0x122): undefined reference to `libevdev_uinput_write_event'
out/input.o: In function `free_evdev':
input.c:(.text+0x14): undefined reference to `libevdev_get_fd'
input.c:(.text+0x23): undefined reference to `libevdev_free'
out/input.o: In function `build_fd_set':
input.c:(.text+0xdf): undefined reference to `libevdev_get_fd'
out/input.o: In function `process_evdev_input':
input.c:(.text+0x52b): undefined reference to `libevdev_get_fd'
input.c:(.text+0x563): undefined reference to `libevdev_get_fd'
input.c:(.text+0x5db): undefined reference to `libevdev_next_event'
input.c:(.text+0x66b): undefined reference to `libevdev_uinput_destroy'
out/rce.o: In function `find_evdev':
rce.c:(.text+0x1bd): undefined reference to `libevdev_new_from_fd'
rce.c:(.text+0x20a): undefined reference to `libevdev_has_event_type'
rce.c:(.text+0x223): undefined reference to `libevdev_has_event_type'
rce.c:(.text+0x241): undefined reference to `libevdev_has_event_code'
rce.c:(.text+0x25f): undefined reference to `libevdev_has_event_code'
rce.c:(.text+0x273): undefined reference to `libevdev_get_name'
rce.c:(.text+0x356): undefined reference to `libevdev_free'
collect2: error: ld returned 1 exit status
Makefile:19: recipe for target 'out/evdev-rce' failed
make: *** [out/evdev-rce] Error 1
Tytuł: Odp: Prośba o pomoc w zainstalowaniu programu
Wiadomość wysłana przez: ultr w 2020-01-16, 03:00:05
W Makefile jest niewłaściwa kolejność parametrów dla gcc:
-levdev powinno być *za* plikami obiektów, które odwołują się do jego symboli.

W pliku Makefile popraw linię:

$(CC) $(CFLAGS) $^ -o $@
na:

$(CC) $^ $(CFLAGS) -o $@
(pamiętaj że linia zaczyna się od znaku tabulacji)

i zbuduj program jeszcze raz.
Tytuł: Odp: Prośba o pomoc w zainstalowaniu programu
Wiadomość wysłana przez: mackeire w 2020-01-16, 08:51:24
Super. Zadziałało.
DZIĘKI WIELKIE