5

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$

そして、これは私がlibを含めようとする方法です:

# 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
    )

XConvertSelectionX11ライブラリを含めたのに、なぜ見つからないと言われるのかわかりません。

4

1 に答える 1

4

私はそれを修正するためにそれらの2つのライブラリを追加しました

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

FIND_PACKAGE() から指定されたライブラリには含まれていませんでした

于 2013-02-08T14:00:53.650 に答える