Ошибка компиляции C ++ при включении статической библиотеки Irrlicht

У вас есть ошибка компиляции при попытке включить статические библиотеки Irrlicht в мой проект cmake

Ошибка компиляции:

max @ max-MS-7369: ~ / Рабочий стол / выживание / сборка $ make Сканирование зависимостей целевого выживания
[33%] Построение объекта CXX src / CMakeFiles / Survival.dir / technic.cpp.o
[66%] Сборка объекта CXX src / CMakeFiles / Survival.dir / render.cpp.o
[100%] Построение объекта CXX src / CMakeFiles / Survival.Dir / Survival.cpp.o
Связывание исполняемого файла CXX ../debug/survival
/ usr / bin / ld: ../../irrlicht/lib/Linux/libIrrlicht.a(CIrrDeviceLinux.o): неопределенная ссылка на символ 'XConvertSelection'
/ usr / bin / ld: note: «XConvertSelection» определено в DSO /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libX11.so, так попробуйте добавить его в командную строку компоновщика
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libX11.so: не удалось прочитать символы: недопустимая операция
collect2: ld вернул 1 статус выхода
make [2]: *** [отладка / выживание] Ошибка 1
make [1]: *** [src / CMakeFiles / Survival.dir / all] Ошибка 2
make: *** [все] Ошибка 2
макс @ макс-MS-7369: ~ / Desktop / выживания / построить $

И вот как я пытаюсь включить библиотеку:

# найти зависимости для irrlicht
FIND_PACKAGE (ZLIB)
FIND_PACKAGE (Х11)
FIND_PACKAGE (OpenGL)
# включает в себя
набор (выживание_CUSTOM_INCLUDES
$ {ZLIB_INCLUDE_DIR}
$ {X11_INCLUDE_DIR}
$ {OPENGL_INCLUDE_DIR}
$ {Survival_SOURCE_DIR} / Irrlicht / включить
)
# библиотеки
набор (выживание_CUSTOM_LIBRARIES
$ {ZLIB_LIBRARIES}
$ {X11_LIBRARIES}
$ {OPENGL_LIBRARIES}
$ {} Survival_SOURCE_DIR /irrlicht/lib/Linux/libIrrlicht.a
)

Я не понимаю, почему он говорит, что не может найти XConvertSelection хотя я включил X11 lib.

5

Решение

я добавил эти 2 библиотеки, чтобы исправить это

/usr/lib/x86_64-linux-gnu/libX11.so
/usr/lib/x86_64-linux-gnu/libXxf86vm.so.1

они не были включены библиотеками из FIND_PACKAGE ()

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]