неопределенная ссылка на `XShmQueryVersion '

Я пытаюсь скомпилировать простую кодовую базу, которая использует простые функции X11, но она дает ошибку при компиляции:

(.text+0x1c): undefined reference to `XShmQueryVersion'

Я использовал функцию XShmQueryVersion в своем коде, я скомпилировал ее с помощью

g++ myprogram.c -o program

Чего мне не хватает?

1
задан 28 March 2013 в 19:44

1 ответ

Необходимо сказать компилятор, что библиотеки найти X11 функционирует в. Ядро X функций как XOpenDisplay находятся в libX11, в то время как расширения находятся в дополнительных библиотеках - как libXext для XShmQueryVersion.

Прямой способ сказать Вашему компилятору связываться с этими библиотеками через -l флаги:

g++ myprogram.c -o program -lXext -lX11

После того как Вы добираетесь до создания большего программного обеспечения с Make-файлами и таким, существуют инструменты, чтобы помочь управлять флагами для этих библиотек, и у Вас могло бы быть что-то в Вашем Make-файле, таком как:

CFLAGS += `pkg-config --cflags x11 xext`
LIBS += `pkg-config --libs x11 xext`
2
ответ дан 28 March 2013 в 19:44

Другие вопросы по тегам:

Похожие вопросы: