检查 OpenCV 是不是使用来自 C++ 代码的 GTK 支持进行编译
Posted
技术标签:
【中文标题】检查 OpenCV 是不是使用来自 C++ 代码的 GTK 支持进行编译【英文标题】:Check if OpenCV is compiled with GTK support from C++ code检查 OpenCV 是否使用来自 C++ 代码的 GTK 支持进行编译 【发布时间】:2019-08-29 08:53:40 【问题描述】:我的问题与以下相同: OpenCV GTK+2.x error
在 OpenCV 可用但尚未安装 GTK 支持的系统中部署我的代码时,我遇到了这个问题。我无法控制这些系统中的 OpenCV 安装。
如果不依赖 C++ 代码的 GTK 支持,我如何区分 OpenCV 的编译位置,可能不依赖于捕获异常?在这些情况下,我会简单地避免调用 imshow。
【问题讨论】:
类似:#if defined (HAVE_GTK)
应该可以工作。您也可以使用getBuildInformation 查看构建信息
【参考方案1】:
您可以通过执行ldd opencv-lib
来检查依赖关系,并使用例如解析输出。正则表达式来检查某种 gtk 库。
或者使用这种方法:linux/gcc: ldd functionality from inside a C/C++ program
setenv("LD_TRACE_LOADED_OBJECTS", "1", 1);
FILE *ldd = popen("/lib/libz.so");
【讨论】:
以上是关于检查 OpenCV 是不是使用来自 C++ 代码的 GTK 支持进行编译的主要内容,如果未能解决你的问题,请参考以下文章