📌  相关文章
📜  如果您在 Ubuntu 或 Debian 上,请安装 libgtk2.0-dev 和 pkg-config,然后重新运行 cmake 或在函数 'cvDestroyAllWindows' 中配置脚本 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:25:00.130000             🧑  作者: Mango

介绍如何解决 Ubuntu/Debian 上运行 OpenCV 出现问题的方法

如果您在 Ubuntu 或 Debian 上安装了 OpenCV 后,在运行程序时出现问题,可能需要安装 libgtk2.0-dev 和 pkg-config。

什么是 libgtk2.0-dev 和 pkg-config?

libgtk2.0-dev 是 GTK+2 的开发版本,提供了用于开发 GTK+2 应用程序的头文件和库文件。GTK+2 是 Linux 平台上的一个图形用户界面工具包,它是创建 GUI 应用程序的重要组件之一。

pkg-config 是用于检查已安装的库文件及其依赖项的工具。它可以告诉编译器在编译程序时需要使用哪些库文件。

如何安装 libgtk2.0-dev 和 pkg-config?

在 Ubuntu 或 Debian 上,可以使用以下命令安装这些软件包:

sudo apt-get install libgtk2.0-dev pkg-config

运行此命令后,系统将提示您输入 root 用户的密码。然后安装程序将开始下载和安装所需的软件包。完成安装后,您可以重新运行 cmake 或配置 cvDestroyAllWindows 函数的脚本。

如何重新运行 cmake?

如果您使用 cmake 生成 Makefile 来编译您的代码,您可以使用以下命令重新运行 cmake:

cd /path/to/source/code
rm -rf CMakeCache.txt CMakeFiles
cmake .
make

此命令将删除先前的 CMakeCache.txt 和 CMakeFiles 文件夹,并重新运行 cmake。然后使用 make 命令编译您的代码。

如何在 cvDestroyAllWindows 函数中配置脚本?

如果您在程序中使用 cvDestroyAllWindows 函数,您可能需要配置一个脚本来解决问题。您可以使用以下命令创建这个脚本并将其保存为 ~/.cvdestroyallwindows.sh:

#!/bin/bash
xprop -root -remove _NET_WM_BYPASS_COMPOSITOR

然后使用以下命令使此脚本具有执行权限:

chmod +x ~/.cvdestroyallwindows.sh

最后,在程序中添加以下代码来调用此脚本:

#include <cstdlib>

system("bash -c 'source ~/.cvdestroyallwindows.sh'");

这将在程序执行时调用指定的脚本并解决问题。