CLion安装mingw并配置以支持c++11多线程编程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liunan199481/article/details/82899959

自己踩的坑

  • 我事先已经知道clion不自带c++编译器,而我再windows下,肯定要装mingw了
  • 然后自己就轻车熟路的把mingw的c编译器、c++编译器都装好,我以为这时候再把编译环境加到clion配置里面就万事大吉了
  • 然而,啪,打脸开始了
  • 按上面配置好,hello world肯定要跑一下,没问题
  • 测试一下c++11新特性auto,没问题
  • 测试一下thread,包含thread头文件没问题,std::thread,啪,打脸,std命名空间没有thread这玩意
  • 到这一步我知道,我下的这个mingw不行哟
  • 换!!!

解决方法

  • 打开File->Settings->Build,Executing,Deployment->Toolchains
    在这里插入图片描述
  • 第一步:Environment选MinGW
  • 第二步:点击右上Download
  • 跳到下图网页
    在这里插入图片描述
  • 第三步:点击Mingw-builds下面的sourceforge链接
  • 进入下载网站,等一下,它在自动下载,一会就能看到浏览器下面的下载任务
  • 下好的文件名:mingw-w64-install.exe,点击运行,记住安装位置,重要文件都在安装文件夹的子文件夹mingw32中,下面添加编译环境也是要选到这个子文件夹。
  • 第四步:打开File->Settings->Build,Executing,Deployment->Toolchains
    在这里插入图片描述
  • 点击ok,clion会自动detect你的编译器,cmake怎么的,等它detect完成后,apply,环境配置就ok了,上个支持thread的图~

源程序:

#include<thread>
#include<iostream>
#include<string>


void threadFunc(std::string &str, int a)
{
    str = "change by threadFunc";
    a = 13;
}
void fun(){
    std::cout<<"hello world hello world hello world hello world hello world"<<std::endl;
}

int main()
{
    std::string str("main");
    int a = 9;
    std::thread th(threadFunc, std::ref(str), a);
    std::thread t2(fun);
    th.join();
    t2.join();

    std::cout<<"str = " << str << std::endl;
    std::cout<<"a = " << a << std::endl;
    auto name = 0;
    return 0;
}

在这里插入图片描述

小结

  • clion环境配置好了,基本功能不比vs弱(c++方面),再改改字体,主题,用着不要太爽,就是要钱,哎~

猜你喜欢

转载自blog.csdn.net/liunan199481/article/details/82899959