簡體   English   中英

讓 OpenCV 接頭在安裝到 Linux 時正常工作

[英]Getting OpenCV headers to work correctly on install in Linux

我在 Ubuntu Linux 上安裝了 OpenCV。 在任何示例中,標題都是:

#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>

當我使用這些包含編譯時,我得到了錯誤:

fatal error: opencv2/imgcodecs.hpp: No such file or directory

#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>

我可以找到 OpenCV 的位置

pkg-config --cflags --libs opencv

輸出如下:

 "Package opencv was not found"

當我嘗試pkg-config --cflags --libs opencv2

我得到:

"Package opencv2 was not found"

只有當我使用pkg-config --cflags --libs opencv4時,我才能獲得路徑:

-I/usr/local/include/opencv4/opencv2 

所以我認為通過將包含更改為:

#include <opencv4/imgcodecs.hpp>
#include <opencv4/highgui.hpp>

它會起作用的。 但我得到:

fatal error: opencv4/imgcodecs.hpp: No such file or directory

#include <opencv4/imgcodecs.hpp>

所以當我嘗試完整路徑時:

#include <opencv4/opencv2/imgcodecs.hpp>

我得到:

imgcodecs.hpp:46:10: fatal error: opencv2/core.hpp: No such file or directory

#include "opencv2/core.hpp"

當然在有問題的hpp文件中它是:

#include "opencv2/core.hpp"

有沒有一種簡單的方法來解決這一切?

我最近確實遇到了這個問題。 問題是,當您構建 OpenCV 時,它會將 header 文件放在 /usr/local/include/opencv4/ 中,然后在其下方您將看到 opencv2/opencv.hpp 以及您引用的所有其他文件。 要解決您的問題,您需要在 bash 中運行:

sudo ln -s /usr/local/include/opencv4/opencv2 /usr/local/include/opencv2

這為我解決了這個問題,如果它對您有用,請務必將其標記為答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM