Windows下CodeBlocks配置 支持C++11 多线程 std::thread

失败的几种姿势

之前看了几篇文章
http://blog.csdn.net/guogaoan/article/details/17653295
这篇博客是让在SourceForge上下载32位或64位的MinGW-builds v4.8.0:下载链接分别是:
(1)http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/32-bit/threads-win32/sjlj/
(2)http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-win32/sjlj/
(多个rev压缩包,下载最新的那个就好。)
下载之后按照它的介绍配置,运行一个测试程序:

#include 
#include 
using namespace std;

void hello()
{
    cout<<"hello kitty"<int main()
{
    std::thread t(hello);
    t.join();
    return 0;
}

会出现编译错误,显示thread未在当前域中声明,也就是这个版本的编译器不支持了。
后来我看了这一篇:
http://blog.csdn.net/wangxiaobupt/article/details/37882541
这篇博客介绍,需要下载POSIX架构的MinGW-builds v4.8.0,下载链接是:
https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-posix/sjlj/

下载、解压、配置、重启codeblocks,这个流程又重复一遍,编译依然出错,出现很多错误,基本上都是未定义的引用“xxxx”函数,所以windows不能用这个版本。

我试了MinGW-builds/ host-windows / releases / 4.8.1下的三个版本:
(1)https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-win32/sjlj/
(2)https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-posix/sjlj/
(3)https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/32-bit/threads-win32/sjlj/
都不好使。


为什么? =。=

上面的博文都是2013、2014年左右的。
在stackoverflow上看了相关问题也都是两年前的提问。
所以可能过去的方法已经不适用了。


最终解决:请下载codeblocks-16.01mingw

下载最新版本的带gcc编译器的CodeBlocks就成功了!!
配置自带的编译器就可以。
CodeBlocks自带的都是TDM-GCC,没用过,但是已经支持std::thread了。
环境说明:
测试时间:2016年6月24日
操作系统:Windows 7 64bits OS
CodeBlocks版本:16.01
安装包:codeblocks-16.01mingw-setup.exe
下载链接:http://www.codeblocks.org/downloads/26
CodeBlocks配置:
Settings -》 Compiler
设置编译器位置:(注意每次更换编译器安装路径后,下面的程序文件路径都要重新选择一遍,默认还是在上一次配置的编译器的子目录,为确保准确,请从根目录重新选择。)
Windows下CodeBlocks配置 支持C++11 多线程 std::thread_第1张图片

勾选c++支持:
Windows下CodeBlocks配置 支持C++11 多线程 std::thread_第2张图片

对上面的程序进行测试:
Windows下CodeBlocks配置 支持C++11 多线程 std::thread_第3张图片

你可能感兴趣的:(环境配置,c++11,std-threa,codeblocks)