Я следую руководству по программированию X11 из здесь. На странице представлены 2 команды, которые можно использовать для компиляции программы на основе XCB:
gcc -Wall prog.c -o prog `pkg-config --cflags --libs xcb`
и
gcc -Wall prog.c -lxcb
Теперь я пробовал оба. Первый говорит gcc: error: unrecognized command-line option ‘--cflags’
. По-видимому, это проблема, связанная с оболочкой (как я видел здесь). Итак, я попробовал bash
. И это дает другую ошибку:
/usr/bin/ld: /tmp/ccnURTF3.o: in function `useXlib':
example.c:(.text+0xd6): undefined reference to `XInternAtom'
/usr/bin/ld: /tmp/ccnURTF3.o: in function `useXlibProperly':
example.c:(.text+0x163): undefined reference to `XInternAtoms'
/usr/bin/ld: /tmp/ccnURTF3.o: in function `main':
example.c:(.text+0x4b1): undefined reference to `XOpenDisplay'
/usr/bin/ld: example.c:(.text+0x559): undefined reference to `XCloseDisplay'
collect2: error: ld returned 1 exit status
Это то же самое, что я получаю с gcc -Wall prog.c -lxcb
. Итак, я думаю, что bash
решило проблему, но их 2. А в Atom, когда вы наводите курсор на функцию, она показывает, из какого она заголовка. Но в этом у меня ничего не получилось.
заранее спасибо
pkg-config --cflags --libs xcb
? - person Gerhardh   schedule 21.10.2020-lxcb
. Я думал, что это означает добавить один флаг-lxcb
вместо всего этого. Но это тоже не работает. это опечатка кстати - person rushdabs   schedule 21.10.2020