PeterCxy / evdev-right-click-emulation

Implement Long-Press-to-Right-Click on Touchscreen Linux Devices with Xorg or Wayland
Do What The F*ck You Want To Public License
90 stars 32 forks source link

Error while compiling #21

Open Reyhank45 opened 2 months ago

Reyhank45 commented 2 months ago

Help i got these errors while compiling on Debian 12 arm64

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 /usr/bin/ld: out/uinput.o: in function `uinput_initialize': uinput.c:(.text+0x8): undefined reference to `libevdev_new' /usr/bin/ld: uinput.c:(.text+0x1c): undefined reference to `libevdev_set_name' /usr/bin/ld: uinput.c:(.text+0x28): undefined reference to `libevdev_enable_event_type' /usr/bin/ld: uinput.c:(.text+0x3c): undefined reference to `libevdev_enable_event_code' /usr/bin/ld: uinput.c:(.text+0x54): undefined reference to `libevdev_uinput_create_from_device' /usr/bin/ld: uinput.c:(.text+0x68): undefined reference to `libevdev_free' /usr/bin/ld: out/uinput.o: in function `uinput_send_right_click': uinput.c:(.text+0x94): undefined reference to `libevdev_uinput_write_event' /usr/bin/ld: uinput.c:(.text+0xa8): undefined reference to `libevdev_uinput_write_event' /usr/bin/ld: uinput.c:(.text+0xbc): undefined reference to `libevdev_uinput_write_event' /usr/bin/ld: uinput.c:(.text+0xd0): undefined reference to `libevdev_uinput_write_event' /usr/bin/ld: out/input.o: in function `free_evdev': input.c:(.text+0x10): undefined reference to `libevdev_get_fd' /usr/bin/ld: input.c:(.text+0x1c): undefined reference to `libevdev_free' /usr/bin/ld: out/input.o: in function `build_fd_set': input.c:(.text+0xf0): undefined reference to `libevdev_get_fd' /usr/bin/ld: out/input.o: in function `process_evdev_input': input.c:(.text+0x500): undefined reference to `libevdev_get_fd' /usr/bin/ld: input.c:(.text+0x538): undefined reference to `libevdev_get_fd' /usr/bin/ld: input.c:(.text+0x594): undefined reference to `libevdev_next_event' /usr/bin/ld: input.c:(.text+0x60c): undefined reference to `libevdev_uinput_destroy' /usr/bin/ld: out/rce.o: in function `find_evdev': rce.c:(.text+0x1a4): undefined reference to `libevdev_new_from_fd' /usr/bin/ld: rce.c:(.text+0x1fc): undefined reference to `libevdev_has_event_type' /usr/bin/ld: rce.c:(.text+0x210): undefined reference to `libevdev_has_event_type' /usr/bin/ld: rce.c:(.text+0x228): undefined reference to `libevdev_has_event_code' /usr/bin/ld: rce.c:(.text+0x240): undefined reference to `libevdev_has_event_code' /usr/bin/ld: rce.c:(.text+0x250): undefined reference to `libevdev_get_name' /usr/bin/ld: rce.c:(.text+0x334): undefined reference to `libevdev_free' collect2: error: ld returned 1 exit status make: *** [Makefile:19: out/evdev-rce] Error 1

helmarw commented 1 month ago

same here :/

djshaji commented 2 weeks ago

in Makefile change line 19 to this: $(CC) $^ -o $@ $(CFLAGS)

Explanation: Debian gcc expects source object files before linker flags