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

'mutex' is not a member of 'std'

Albee_1
Beginner
1,182 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
1,129 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


0 Kudos
Albee_1
Beginner
1,117 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

 

0 Kudos
Zulkifli_Intel
Moderator
1,106 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 


0 Kudos
Zulkifli_Intel
Moderator
1,051 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


0 Kudos
Reply