# Opencv doesnt work, it prints error

**URL:** <https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834>\
**Category:** Uncategorized\
**Tags:** programming\
**Created:** [August 13, 2022, 9:13am UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834 "2022-08-13T09:13:15Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andris](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/andris/32/9427_2.png) [@Andris](https://forum.opencv.org/u/Andris)\
**Post date:** [August 13, 2022, 9:13am UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/1 "2022-08-13T09:13:15Z")

</div>

Hello, i included opencv in a program:  
#include   
#include \<opencv2/opencv.hpp\>  
using namespace std;  
using namespace cv;  
int main() {  
cout \<\< “Hello”;  
}  
and it is always prints error like: error: ‘recursive\_mutex’ in namespace ‘std’ does not name a type (typedef std::recursive\_mutex Mutex;)  
and: error: ‘Mutex’ is not a member of ‘cv’ (typedef std::lock\_guardcv::Mutex AutoLock;)  
Can somebody help?

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [August 13, 2022, 11:15am UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/2 "2022-08-13T11:15:50Z")

</div>

os ? opencv version ? compiler ?

---

<div class="post-metadata">

**Author:** ![crackwitz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/crackwitz/32/14_2.png) [@crackwitz](https://forum.opencv.org/u/crackwitz)\
**Post date:** [August 13, 2022, 11:48am UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/3 "2022-08-13T11:48:01Z")

</div>

crosspost: [c++ - Opencv, many errors like ... in namespace 'cv' does not name a type - Stack Overflow](https://stackoverflow.com/questions/73342833/opencv-many-errors-like-in-namespace-cv-does-not-name-a-type)

---

<div class="post-metadata">

**Author:** ![Andris](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/andris/32/9427_2.png) [@Andris](https://forum.opencv.org/u/Andris)\
**Post date:** [August 13, 2022, 1:16pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/4 "2022-08-13T13:16:23Z")

</div>

windows 10, 4.6.0 (i tried with other versions, always prints error), g++ ([MinGW.org](http://MinGW.org) GCC-6.3.0-1) 6.3.0

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [August 13, 2022, 1:20pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/6 "2022-08-13T13:20:18Z")

</div>

try to get a more recent mingw. this one works:

```auto

C:\Users\admin>g++ --version
g++ (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0

```

---

<div class="post-metadata">

**Author:** ![matti.vuori](https://avatars.discourse-cdn.com/v4/letter/m/e79b87/32.png) [@matti.vuori](https://forum.opencv.org/u/matti.vuori)\
**Post date:** [August 13, 2022, 2:02pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/7 "2022-08-13T14:02:42Z")

</div>

Also, is OpenCV built for MingW, or the standard version, which is for Visual C++? If not, it should not work…

---

<div class="post-metadata">

**Author:** ![Andris](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/andris/32/9427_2.png) [@Andris](https://forum.opencv.org/u/Andris)\
**Post date:** [August 13, 2022, 2:04pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/8 "2022-08-13T14:04:57Z")

</div>

thanks you so much guys!

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [August 13, 2022, 2:25pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/9 "2022-08-13T14:25:02Z")

</div>

the _prebuild_ binaries are indeed for VS only.  
(problem above happened when building from src)

---

<div class="post-metadata">

**Author:** ![Andris](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/andris/32/9427_2.png) [@Andris](https://forum.opencv.org/u/Andris)\
**Post date:** [August 13, 2022, 3:14pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/10 "2022-08-13T15:14:54Z")

</div>

Thank you, the including is working, but if i compile this code:

```auto
#include <bits/stdc++.h>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
using namespace std;
int main() {
    cv::Mat image;
    return 0;
}

```

like: `g++ main.cpp`  
then it will print an error:

```auto
c:/winlibs/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.1/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\TAKCSN~1\AppData\Local\Temp\ccKc8Dmu.o:g.cpp:(.text+0x1e): undefined reference to `cv::Mat::Mat()'
c:/winlibs/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.1/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\TAKCSN~1\AppData\Local\Temp\ccKc8Dmu.o:g.cpp:(.text+0x2f): undefined reference to `cv::Mat::~Mat()'

```

collect2.exe: error: ld returned 1 exit status  
Can you help?

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [August 13, 2022, 3:22pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/11 "2022-08-13T15:22:18Z")

</div>

you additionally need to **link** your program against the opencv libs:

```
g++ main.cpp -lopencv_core460 -lopencv_highgui460

```

---

<div class="post-metadata">

**Author:** ![Andris](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/andris/32/9427_2.png) [@Andris](https://forum.opencv.org/u/Andris)\
**Post date:** [August 13, 2022, 4:02pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/12 "2022-08-13T16:02:34Z")

</div>

Hi, i want to ask how can i link it, should i give the path?

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [August 13, 2022, 4:50pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/13 "2022-08-13T16:50:55Z")

</div>

`-L path/to/your/lib/folder`

---

<div class="post-metadata">

**Author:** ![Andris](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/andris/32/9427_2.png) [@Andris](https://forum.opencv.org/u/Andris)\
**Post date:** [August 13, 2022, 4:53pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/14 "2022-08-13T16:53:58Z")

</div>

Thank you very much, you helped me a lot!

---

<div class="post-metadata">

**Author:** ![Andris](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/andris/32/9427_2.png) [@Andris](https://forum.opencv.org/u/Andris)\
**Post date:** [August 13, 2022, 6:05pm UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/15 "2022-08-13T18:05:57Z")

</div>

Hi, unfortunately it does not work.  
I have this code:  
#include \<bits/stdc++.h\>  
#include \<opencv2/opencv.hpp\>  
#include \<opencv2/highgui.hpp\>  
using namespace std;  
int main() {  
cv::Mat image;  
return 0;  
}

and I tried a lot of options to link the library, but it returns error.  
I tried to use these paths:  
g++ main.cpp -L C:/opencv/build/include/opencv2/  
g++ main.cpp -L C:\opencv\build\include\opencv2\highgui\

and the error remained the same: undefined reference to `cv::Mat::Mat()’  
Can you help?  
Because i would like to solve this program very much.  
It’s a challange for me.

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [August 14, 2022, 9:15am UTC](https://forum.opencv.org/t/opencv-doesnt-work-it-prints-error/9834/16 "2022-08-14T09:15:50Z")

</div>

`-L` needs path to the installed libs, not the headers
