相关疑难解决方法(0)

mingw-w64主题:posix vs win32

我正在Windows上安装mingw-w64,有两个选项:win32线程和posix线程.我知道win32线程和pthreads之间的区别是什么,但我不明白这两个选项之间的区别.我怀疑如果我选择posix线程,它将阻止我调用WinTI函数,如CreateThread.

看来这个选项指定某些程序或库将使用哪个线程API,但是通过什么?通过GCC,libstdc ++还是别的什么?

我发现了这个: 在windows的gcc端口中thread_posixs和thread_win32之间的区别是什么?

简而言之,对于这个版本的mingw,threads-posix版本将使用posix API并允许使用std :: thread,而threads-win32将使用win32 API,并禁用std :: thread部分标准.

好的,如果我将选择win32线程,那么std :: thread将不可用,但仍将使用win32线程.但用什么?

windows gcc mingw pthreads

103
推荐指数
3
解决办法
9万
查看次数

获取错误:命名空间'std'中的'mutex'没有在MinGW mysys提示符中命名类型

我从官方网站下载了MinGW并将其安装在我的Windows 8.1机器上.

运行g ++ --version给了我g ++.exe(GCC)4.8.1.

我正在尝试编译MinGW编译器中的现有代码库,但它失败并出现以下错误:

error: 'mutex' in namespace 'std' does not
name a type
     private: std::mutex m_Mutex;
              ^
error: 'condition_variable' in namespace 's
Run Code Online (Sandbox Code Playgroud)

以及与锁定和线程相关的更多错误.

我能够在Cygwin-64中编译相同的代码库而没有任何问题.我需要在MinGW中成功构建和编译,以便创建一些在MSVS上兼容的.dll文件.

我已经提到了以下链接,但我无法通过解决方案.

使用mingw和g ++使用std :: thread/mutex在Win7下工作4.7.2
MinGW 4.8.1 C++ 11线程支持

非常感谢您的帮助.谢谢.

c++ multithreading mingw compiler-errors c++11

6
推荐指数
1
解决办法
8497
查看次数

标签 统计

mingw ×2

c++ ×1

c++11 ×1

compiler-errors ×1

gcc ×1

multithreading ×1

pthreads ×1

windows ×1