我正在使用netbeans IDE 8.0和mingw-builds \ x32-4.8.1编译器。
我已经包含了互斥头文件并声明了'using namespace std'指令
但IDE会报告互斥锁类型的未解析标识符。编译也失败了。
g++ -m32 -c -O2 -I../../../../../Program\ Files\ \(x86\)/mingw-builds/x32-4.8.1-win32-dwarf-rev5/mingw32/lib/gcc/i686-w64-mingw32/4.8.1/include/c++ -std=c++11 -MMD -MP -MF "build/Release/MinGW_1-Windows/main.o.d" -o build/Release/MinGW_1-Windows/main.o main.cpp
main.cpp:25:5: error: 'mutex' does not name a type
mutex mu;
上述命令中的include路径包含互斥锁头文件。尝试清理和构建,代码协助 - >重新分析项目,没有解决这个问题。
知道我该如何运作? Netbeans IDE 8.0是最新的。
编辑:我在头文件mutex中看到_GLIBCXX_HAS_GTHREADS和_GLIBCXX_USE_C99_STDINT_TR1有两个#ifdef,其中定义了所有与互斥锁相关的类。 我是否需要将这些宏作为编译器选项传递?
答案 0 :(得分:0)
现在解决了。安装mingw 4.8.1编译器时可以选择win32线程或posix线程。我选择了win32。我的猜测是win32线程版本没有定义_GLIBCXX_HAS_GTHREADS宏。
我卸载并重新安装选择posix线程,现在工作正常。