2013-02-08 19 views
5

をincludeingとき、私のcmakeのプロジェクトC++ Irrlichtを静的libに

コンパイルエラーにイルリヒト静的ライブラリが含まれるようにしようとしたときにUはコンパイルエラーを持っているコンパイルエラー:

 
[email protected]:~/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.o 
Linking 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 operation 
collect2: ld returned 1 exit status 
make[2]: *** [debug/survival] Error 1 
make[1]: *** [src/CMakeFiles/survival.dir/all] Error 2 
make: *** [all] Error 2 
[email protected]:~/Desktop/survival/build$ 

そして、これは私が含まれるようにしようとする方法ですLIB:それは私がX11のlibが含まれているにもかかわらず、XConvertSelectionを見つける傾けると言う理由

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

は私が得ることはありません。

答えて

4

iが

)は、FIND_PACKAGE(からのLIBSに含ましゃべれなかっそれに

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

を修正するために、これら2つのLIBSを添加

関連する問題