Intel® Distribution of OpenVINO™ Toolkit
Community support and discussions about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all things computer vision-related on Intel® platforms.

'mutex' is not a member of 'std'

Albee_1
Beginner
281 Views

Hi Everyone,

I'm using

-visual studio 2019

-openvino version 2021.2.185

- C++ 14 standard

and trying to make an dll in release mode with reference to 'object_detection_sample_ssd' in the samples of openvino.

 

However, I'm getting compilation errors as follows:

-Error C3861 'get_mutex': identifier not found WIZ_DL_ObjectDetection D:\openvino_2021.2.185\deployment_tools\ngraph\include\ngraph\opsets\opset.hpp 39

-Error C2039 'mutex': is not a member of 'std' WIZ_DL_ObjectDetection D:\openvino_2021.2.185\deployment_tools\ngraph\include\ngraph\factory.hpp 27

-Error C2923 'std::lock_guard': 'mutex' is not a valid template type argument for parameter '_Mutex' WIZ_DL_ObjectDetection D:\openvino_2021.2.185\deployment_tools\ngraph\include\ngraph\opsets\opset.hpp 39
-Error C2514 'std::lock_guard': class template cannot be constructed WIZ_DL_ObjectDetection D:\openvino_2021.2.185\deployment_tools\ngraph\include\ngraph\opsets\opset.hpp 39

 

Can anyone give me some clues on how to solve this? Thanks in advance.

Here is my environment setting:

Include Directories: 

1. D:\openvino_2021.2.185\opencv\include\opencv2

2.D:\openvino_2021.2.185\opencv\include

3.D:\openvino_2021.2.185\deployment_tools\inference_engine\include

4.D:\openvino_2021.2.185\deployment_tools\inference_engine\samples\cpp\common

5.D:\openvino_2021.2.185\deployment_tools\ngraph\include

6.D:\openvino_2021.2.185\deployment_tools\inference_engine\external\tbb\include\tbb

7.D:\openvino_2021.2.185\deployment_tools\inference_engine\external\hddl\include

 

Library Directories:

1.D:\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release

2.D:\openvino_2021.2.185\opencv\lib

3.D:\openvino_2021.2.185\deployment_tools\ngraph\lib

4.D:\openvino_2021.2.185\deployment_tools\inference_engine\external\tbb\lib

5.D:\openvino_2021.2.185\deployment_tools\inference_engine\external\hddl\lib

 

 

 

 

0 Kudos
4 Replies
Zulkifli_Intel
Moderator
228 Views

Hi Albee,

Thank you for reaching out to us.

 

Referring to the following thread, this error can be solved by including the mutex header in your code.

#include <mutex>


Sincerely,

Zulkifli


Albee_1
Beginner
216 Views

Hi Zulkifli,

Thanks for the reply.

 

I tried to include mutex header in my code but it doesn't work.

I found that these errors come from opset.hpp. In that file, all mutex related usage is underlined with red color, eg. std::mutex and get_mutex(). Some mutex errors are found in factory.hpp too.

 

FYI, there is mutex header in opset.hpp and factory.hpp already.

May I get your advice? Thanks in advance.

Regards,
Albee

 

Zulkifli_Intel
Moderator
205 Views

Hi Albee,


I checked the files in my OpenVINO directory and indeed the mutex is defined in those files. Please share with us your main code, header file, and any necessary information for further investigation.


Sincerely,

Zulkifli 


Zulkifli_Intel
Moderator
150 Views

Hi Albee,

Thank you for your question. If you need any additional information from Intel, please submit a new question as this thread is no longer being monitored.


Sincerely,

Zulkifli


Reply