gpt4 book ai didi

包含 Irrlicht 静态库时的 C++ 编译错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:36 26 4
gpt4 key购买 nike

尝试将 Irrlicht 静态库包含到我的 cmake 项目中时出现编译错误

编译错误:

max@max-MS-7369:~/Desktop/survival/build$ make Scanning dependencies   of target survival[ 33%] Building CXX object    src/CMakeFiles/survival.dir/technic.cpp.o[ 66%] Building CXX object   src/CMakeFiles/survival.dir/render.cpp.o[100%] Building CXX object    src/CMakeFiles/survival.dir/survival.cpp.oLinking CXX executable    ../debug/survival/usr/bin/ld:    ../../irrlicht/lib/Linux/libIrrlicht.a(CIrrDeviceLinux.o): undefined   reference to symbol 'XConvertSelection'/usr/bin/ld: note:    'XConvertSelection' is defined in DSO    /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libX11.so  so try adding it to the linker command line/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libX11.so: could not read symbols: Invalid operationcollect2: ld returned 1 exit statusmake[2]: *** [debug/survival] Error 1make[1]: ***    [src/CMakeFiles/survival.dir/all] Error 2make: *** [all] Error 2max@max-MS-7369:~/Desktop/survival/build$

这就是我尝试包含库的方式:

# find dependencies for irrlichtFIND_PACKAGE(ZLIB)FIND_PACKAGE(X11)FIND_PACKAGE(OpenGL)# includesset( survival_CUSTOM_INCLUDES    ${ZLIB_INCLUDE_DIR}    ${X11_INCLUDE_DIR}    ${OPENGL_INCLUDE_DIR}    ${survival_SOURCE_DIR}/irrlicht/include    )# librariesset( survival_CUSTOM_LIBRARIES    ${ZLIB_LIBRARIES}    ${X11_LIBRARIES}    ${OPENGL_LIBRARIES}    ${survival_SOURCE_DIR}/irrlicht/lib/Linux/libIrrlicht.a    )

我不明白为什么它说找不到 XConvertSelection,即使我已经包含了 X11 库。

最佳答案

我添加了这两个库来修复它

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

它们不包含在 FIND_PACKAGE() 给出的库中

关于包含 Irrlicht 静态库时的 C++ 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com