2013-02-08 11 views
5

U ma błąd kompilacji podczas próby obejmują bibliotek statycznych irrlicht do mojego projektu cmakeC++ skompilować błąd podczas includeing irrlicht statyczny lib

błąd

opracowują:

 
[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$ 

I tak staram się m.in. lib:

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

nie rozumiem dlaczego mówi to nie mogę znaleźć XConvertSelection chociaż mam włączone lib X11.

Odpowiedz

4

I dodaje te 2 bibliotekami rozwiązać to

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

Nie były włączone przez bibliotekami podawane z FIND_PACKAGE()

Powiązane problemy