簡體   English   中英

MinGW C++ 編譯器在系統路徑中找不到 OpenCV

[英]MinGW C++ compiler cant find OpenCV in the system path

因此,在嘗試使用 MinGW 編譯來自.cpp 的小型 c++ 文件時,我收到一條錯誤消息,指出“致命錯誤:opencv2\core\mat.hpp:沒有這樣的文件或目錄”。 它以一種或另一種形式發生在 Sublime Text 3、Atom 和帶有“gcc myfile.cpp”的命令行上。 我應該注意到我在 Windows 10 上。這是代碼:

#include <iostream>
#include <opencv2\core\mat.hpp>
#include <opencv2\core.hpp>
#include <opencv2\highgui.hpp>
#include <opencv2\core\types.hpp>
#include <opencv2\imgproc.hpp>

int main()
{
    std::cout << "Hello World!\n";
    cv::Mat img = cv::imread("despair.jpg");
    cv::cvtColor(img, img, cv::COLOR_RGBA2GRAY, 1);
    cv::imshow("1", img);
    cv::waitKey(0);

    cv::Mat mask = cv::Mat(img.rows, img.cols, CV_8UC1, cv::Scalar(255));
    cv::Rect_ <char> roi = cv::Rect_ <cv::Point>(cv::Point(0, 0), cv::Point(10, 10));
    cv::rectangle(mask, roi, cv::Scalar(0), -1);
    cv::Scalar colors = cv::mean(img, mask);
}

我做過並嘗試過的事情:

  • 將 C:\OpenCV\opencv\build\include\ 添加到系統路徑。
  • 將 x64/vc15 文件夾中的 bin 和 lib 文件夾添加到系統路徑。
  • 通常對系統路徑進行混亂和試驗,以嘗試找到任何可能有效的方法。 (此時我已經嘗試了很多組合,我已經忘記了大部分)
  • 將所有內容添加到我的用戶特定路徑。
  • 將 .cpp 文件中的包含目錄更改為我需要包含的每個文件的絕對路徑(這適用於我需要的確切文件,但是當這些文件嘗試包含他們需要的其他文件時會失敗,例如 Mat.hpp試圖包含 Matx.hpp)
  • 重新安裝 MinGW64。
  • 將 MinGW 安裝到不同的文件夾並更新系統路徑以反映新位置。
  • 更改我正在使用的文本編輯器
  • 從文本編輯器外部的命令行編譯

現在我的系統路徑中的東西:

  • C:\OpenCV\opencv\build\x64\vc15\lib
  • C:\OpenCV\opencv\build\x64\vc15\bin
  • C:\OpenCV\opencv\build\include\
  • C:\MinGW\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin

我將這段代碼從一個更大的項目中取出來測試它發生了什么,此時我正在努力找出問題所在。 請發送幫助。

添加帶有 opencv 路徑的-I選項和帶有 opencv 庫路徑的-L選項,如下所示:

gcc -IC:\OpenCV\opencv\build\include -LC:\OpenCV\opencv\build\x64\vc15\lib test_opencv.cpp

暫無
暫無

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

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