Yan*_*Xie 0 gtk opengl opencv3.0
我用构建了opencv cmake -DWITH_OPENGL=ON ..,但是cmake的输出告诉我支持的OpenGL是NO。
而且我已经检查了cmake缓存以确保WITH_OPENGLis是ON。
使用的GUI是GTK + 3.0,并且已安装libgtkglext1-dev。
阅读cmake脚本后cmake/OpenCVFindLibsGUI.cmake,我找到了相关的cmake代码:
# --- GTK ---
ocv_clear_vars(HAVE_GTK HAVE_GTK3 HAVE_GTHREAD HAVE_GTKGLEXT)
if(WITH_GTK AND NOT HAVE_QT)
# ...
if(WITH_OPENGL AND NOT HAVE_GTK3)
CHECK_MODULE(gtkglext-1.0 HAVE_GTKGLEXT) # MARK1
endif()
endif()
# --- OpenGl ---
ocv_clear_vars(HAVE_OPENGL HAVE_QT_OPENGL)
if(WITH_OPENGL)
if(WITH_WIN32UI OR (HAVE_QT AND QT_QTOPENGL_FOUND) OR HAVE_GTKGLEXT) # MARK2
find_package (OpenGL QUIET)
# ...
endif ()
endif(WITH_OPENGL)
Run Code Online (Sandbox Code Playgroud)
因为我使用的是GTK + 3.0,所以标记为的语句MARK1将不会执行,因此标记为的条件MARK2将为false。因此将不会加载OpenGL软件包。
我也曾试图强制调用,CHECK_MODULE(gtkglext-1.0 HAVE_GTKGLEXT)即使HAVE_GTK3为true 时也是如此,但最后发现编译错误。
所以我如下更新我的建筑命令
cmake -DWITH_OPENGL=ON -DWITH_GTK_2_X=ON ..
Run Code Online (Sandbox Code Playgroud)
随着WITH_GTK_2_X被设置时,GTK2是用来代替gtk3力。
| 归档时间: |
|
| 查看次数: |
899 次 |
| 最近记录: |