我正在尝试安装 rejoystick,当我运行 make 时,我得到以下信息:
Making all in src
make[1]: Entering directory '/home/chrx/Downloads/joystick/rejoystick-0.8.1/src'
make[2]: Entering directory '/home/chrx/Downloads/joystick/rejoystick-0.8.1/src'
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -std=iso9899:1990 -Wall -pedantic -I../include -O2 -s -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -o rejoystick assign_button.o backend.o button_axis.o error.o io.o js_axis.o js_button.o list.o main.o sdl_misc.o -lXtst -lgthread-2.0 -pthread -lglib-2.0 -L/usr/lib/x86_64-linux-gnu -lSDL -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lglib-2.0
gcc -g -O2 -std=iso9899:1990 -Wall -pedantic -I../include -O2 -s -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -o rejoystick assign_button.o backend.o button_axis.o error.o io.o js_axis.o js_button.o list.o main.o sdl_misc.o -pthread -lXtst -lgthread-2.0 -L/usr/lib/x86_64-linux-gnu -lSDL -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so -lglib-2.0 -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu -Wl,--rpath -Wl,/usr/lib/x86_64-linux-gnu
/usr/bin/ld: io.o: undefined reference to symbol 'XKeycodeToKeysym'
/usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:277: recipe for target 'rejoystick' failed
make[2]: *** [rejoystick] Error 1
make[2]: Leaving directory '/home/chrx/Downloads/joystick/rejoystick-0.8.1/src'
Makefile:335: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/chrx/Downloads/joystick/rejoystick-0.8.1/src'
Makefile:248: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
我可以做什么来解决这个问题? (我猜错误是error adding symbols: DSO missing from command line
)
答案1
构建缺失-lX11
;要解决这个问题,请运行
./configure LIBS=-lX11 && make