请问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
...全文
1003 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
haodehenSSWS 2018-01-05
  • 打赏
  • 举报
回复
我也想知道嵌入式平台有没有glut类似的扩展库可以使用
清涧煎饼 2018-01-05
  • 打赏
  • 举报
回复
引用 3 楼 linnanbryant 的回复:
我也想知道嵌入式平台有没有glut类似的扩展库可以使用,涉及到3d的描绘,不知道楼主解决了没有
不好意思,我刚看到。 我自己的问题已经解决,但是没有继续编译pangolin库,直接调用了opengles的库显示的。我的系统是阉割版的linux, 在内核编译时已经生成了libEGL.so、libGLESv1_CM.so、libGLESv2.so、libMali.so,所以没有继续找glut的库了。
清涧煎饼 2018-01-05
  • 打赏
  • 举报
回复
引用 5 楼 zhenzhi_03 的回复:
我也想知道嵌入式平台有没有glut类似的扩展库可以使用
应该跟嵌入式平台的系统有关系吧,linux应该会有,而安卓没有。
linnanbryant 2017-11-08
  • 打赏
  • 举报
回复
我也想知道嵌入式平台有没有glut类似的扩展库可以使用,涉及到3d的描绘,不知道楼主解决了没有
清涧煎饼 2017-10-23
  • 打赏
  • 举报
回复
嗨,谢谢你的回复; 对于我现在的arm平台,有相应的glew 和glut库吗?系统自带的opengles库和mali库后期会跟glew和glut兼容吗?
引用 1 楼 lgbxyz 的回复:
依赖多很正常, 先去官网下一个版本的X11, 肯定有依赖软件的最低版本等,照着下载逐一编译
LubinLew 2017-10-23
  • 打赏
  • 举报
回复
依赖多很正常, 先去官网下一个版本的X11, 肯定有依赖软件的最低版本等,照着下载逐一编译

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧