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