【问题标题】:C++ compile error when includeing Irrlicht static lib包含 Irrlicht 静态库时的 C++ 编译错误
【发布时间】:2013-01-24 05:24:41
【问题描述】:

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

编译错误:

max@max-MS-7369:~/Desktop/survival/build$ 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:注意:'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 max@max-MS-7369:~/Desktop/survival/build$

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

# 查找 irrlicht 的依赖项 FIND_PACKAGE(ZLIB) FIND_PACKAGE(X11) FIND_PACKAGE(OpenGL) # 包括 设置(survival_CUSTOM_INCLUDES ${ZLIB_INCLUDE_DIR} ${X11_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR} ${survival_SOURCE_DIR}/irrlicht/include ) # 库 设置(survival_CUSTOM_LIBRARIES ${ZLIB_LIBRARIES} ${X11_LIBRARIES} ${OPENGL_LIBRARIES} ${survival_SOURCE_DIR}/irrlicht/lib/Linux/libIrrlicht.a )

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

【问题讨论】:

    标签: c++ compiler-errors cmake x11 irrlicht


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多