请问tina linux系统的ARM开发板如何使用glew、glut库吗?
清涧煎饼 2017-10-20 03:20:54 我现在需要在tina linux系统的arm开发板上编译一个显示库Pangolin,小板的系统中自带了下面几个文件:
libEGL.so libGLESv1_CM.so libGLESv2.so libMali.so
下面是Pangolin库的cmakelist文件, 将不相关的做了删除,只保留了跟链接库相关的:
if(ANDROID OR IOS)
set(HAVE_GLES 1)
option(BUILD_FOR_GLES_2 "Build for OpenGL ES 2 instead of ES 1" ON )
if(BUILD_FOR_GLES_2)
set(HAVE_GLES_2 1)
endif()
endif()
if(_OSX_)
set(CMAKE_MACOSX_RPATH ON)
endif()
还有关联的子cmakelist文件
## Library sources
if(BUILD_PANGOLIN_GUI)
if( ANDROID )
# Android specific display code
list(APPEND HEADERS ${INCDIR}/display/device/display_android.h )
list(APPEND SOURCES display/device/display_android.cpp )
if(HAVE_GLES_2)
list(APPEND LINK_LIBS "-lEGL;-lGLESv2" )
else()
list(APPEND LINK_LIBS "-lEGL;-lGLESv1_CM" )
endif()
else()
find_package(OpenGL REQUIRED QUIET)
list(APPEND USER_INC "${OPENGL_INCLUDE_DIR}" )
list(APPEND LINK_LIBS "${OPENGL_LIBRARIES}" )
if(NOT BUILD_EXTERN_GLEW)
find_package(GLEW REQUIRED QUIET)
endif()
if(GLEW_FOUND)
list(APPEND USER_INC "${GLEW_INCLUDE_DIR}" )
list(APPEND LINK_LIBS "${GLEW_LIBRARY}" )
set(HAVE_GLEW 1)
endif()
endif()
if( HAVE_GLES_2 )
# Add Pangolins backwards compat layer.
list(APPEND HEADERS ${INCDIR}/gl2engine.h )
list(APPEND SOURCES gl2engine.cpp)
endif()
endif()
## Find optional dependencies
if(ANDROID)
# Fix issue with thread local storage on android.
add_definitions(-fno-data-sections)
list(APPEND LINK_LIBS android log)
else()
if(BUILD_PANGOLIN_GUI)
if(FORCE_GLUT)
find_package(FREEGLUT QUIET)
find_package(GLUT QUIET)
# Prefer OSX_MODIFIED_GLUT > FREEGLUT > GLUT
if(FREEGLUT_FOUND AND NOT HAVE_MODIFIED_OSXGLUT)
set(HAVE_FREEGLUT 1)
list(APPEND USER_INC ${FREEGLUT_INCLUDE_DIR} )
list(APPEND LINK_LIBS ${FREEGLUT_LIBRARY} )
elseif(GLUT_FOUND)
list(APPEND USER_INC ${GLUT_INCLUDE_DIR} )
list(APPEND LINK_LIBS ${GLUT_LIBRARY} )
endif()
endif()
if(FREEGLUT_FOUND OR GLUT_FOUND)
set(HAVE_GLUT 1)
list(APPEND HEADERS ${INCDIR}/display/device/display_glut.h )
list(APPEND SOURCES display/device/display_glut.cpp )
message(STATUS "Glut Found and Enabled")
endif()
elseif(_LINUX_)
find_package(X11 REQUIRED)
list(APPEND USER_INC ${X11_INCLUDE_DIR})
list(APPEND SOURCES display/device/display_x11.cpp )
list(APPEND LINK_LIBS ${X11_LIBRARIES} )
endif()
endif()
endif()
然后遇到了下面几个问题,嵌入式平台有GLEW GLUT库吗?tina linux系统也没有X11库,然后我从下面网站下载的X11库,编译时会不断依赖新的库,由于依赖太多,都开始怀疑自己的方法对不。
https://archlinuxarm.org/packages/armv7h/libx11