Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ g++找不到opencv.hpp文件_C++_Windows_Opencv - Fatal编程技术网

C++ g++找不到opencv.hpp文件

C++ g++找不到opencv.hpp文件,c++,windows,opencv,C++,Windows,Opencv,我试图使用Visual Studio 2019、Windows 10中的g++编译一个导入OpenCV头文件的.cpp文件 当g++main.cpp不起作用时,我在这里搜索,发现有人建议使用-I来指定包含文件的路径 我尝试将-I/path/to/opencv/include作为我的g++命令的标志,但仍然收到相同的错误 如果有人能帮我找出g++找不到.hpp文件的原因,我将不胜感激 最小代码: 导致初始错误的原因是-I标志和include路径之间有一个/。将此替换为空格会导致另一个错误 为了解决

我试图使用Visual Studio 2019、Windows 10中的g++编译一个导入OpenCV头文件的.cpp文件

当g++main.cpp不起作用时,我在这里搜索,发现有人建议使用-I来指定包含文件的路径

我尝试将-I/path/to/opencv/include作为我的g++命令的标志,但仍然收到相同的错误

如果有人能帮我找出g++找不到.hpp文件的原因,我将不胜感激

最小代码:


导致初始错误的原因是-I标志和include路径之间有一个/。将此替换为空格会导致另一个错误

为了解决涉及互斥的错误,请参阅原始帖子的编辑,我尝试了以下解决方法。请注意,第4步不再相关,因为在本文发布时,下载链接指向一个.zip文件

为了配置Threads选项,我使用下载了安装程序。这个版本的安装程序提供了在线程下选择posix的选项,正如解决方法所建议的那样


在安装并将/bin从新的mingw-w64文件夹添加到PATH之后,我现在能够成功编译我的示例代码。

有趣的是,包含opencv2/core.hpp的代码使编译器抱怨opencv/core.hpp;不太可能,更可能的是你没有检查你的最小代码是否真的复制了problem@DanMašek我手工输入错误,因为我在另一台计算机上工作,我错过了2。固定的当然,我检查了我的最小代码是否产生了错误。@avi如果opencv2/core.hpp有效,您可以尝试它hi@nhatnq。我刚刚试过-现在才收到相同的错误,带有引号,而不是克拉。@nhatnq\and/work。我不认为g++需要/between-I和路径,但我不是mingw的常客,它应该不会有什么坏处。
#include <iostream>
#include <opencv2/core.hpp>

int main() {

    return 0;
}
No such file or directory
    2 | #include <opencv2/core.hpp>
      |           ^~~~~~~~~~~~~~~~
compilation terminated.
In file included from C:/Users/USER/OpenCV/opencv/build/include/opencv2/core.hpp:3307,
                 from main.cpp:2:
C:/Users/USER/OpenCV/opencv/build/include/opencv2/core/utility.hpp:717:14: error: 'recursive_mutex' in namespace 'std' does
not name a type
  717 | typedef std::recursive_mutex Mutex;
      |              ^~~~~~~~~~~~~~~
C:/Users/USER/OpenCV/opencv/build/include/opencv2/core/utility.hpp:63:1: note: 'std::recursive_mutex' is defined in header
<mutex>'; did you forget to '#include <mutex>'?
   62 | #include <mutex>  // std::mutex, std::lock_guard
  +++ |+#include <mutex>
   63 | #endif
C:/Users/USER/OpenCV/opencv/build/include/opencv2/core/utility.hpp:718:29: error: 'Mutex' is not a member of 'cv'
  718 | typedef std::lock_guard<cv::Mutex> AutoLock;
      |                             ^~~~~
C:/Users/USER/OpenCV/opencv/build/include/opencv2/core/utility.hpp:718:29: error: 'Mutex' is not a member of 'cv'
C:/Users/USER/OpenCV/opencv/build/include/opencv2/core/utility.hpp:718:34: error: template argument 1 is invalid
  718 | typedef std::lock_guard<cv::Mutex> AutoLock;
      |                                  ^