Loading... ## 前言 这学期选修了并行与分布式计算导论,需要编写一些简单的并行程序,并分析并行算法的优劣,由于`Mac`上默认的`clang`不支持`OpenMP`,便谷歌了一下怎么配置。 在搜索的过程中,我发现许多教程都很老旧,例如很多教程里推荐使用下面这条命令 ```bash brew install gcc --without-multilib ``` 来安装`gcc6`,但在实践过程中我发现,这条命令现在已经不可行了。并且现在但最新版本是`gcc8`,我猜想可能使用下面这条命令有可能成功 ```bash brew install gcc@6 --without-multilib ``` 但我并没有尝试。大家有兴趣可以试一下。 ## 解决方案 ### 安装`gcc` 上面说到那条命令在如今已经不可行,但是,去掉最后的附加项肯定还是可以运行的,于是 ```bash brew update brew install gcc ``` 就安装好了最新的`gcc-8` 有关`brew`的安装和替换源加速,参见 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="http://blog.ruixiaolu.com/archives/16/" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://blog.ruixiaolu.com/usr/uploads/20200312022439.png);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Homebrew——MacOS下的包管理神器</p> <div class="inster-summary text-muted"> 前言Homebrew(简称为brew)是Mac下的一个包管理工具,可以用它来安装管理许多Mac没有预装的软件程序,... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="http://blog.ruixiaolu.com/archives/17/" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(http://blog.ruixiaolu.com/usr/themes/handsome/assets/img/sj/4.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Homebrew 替换默认源</p> <div class="inster-summary text-muted"> brew如果不换成国内源,安装软件时候可能会出问题,不是安装不了就是速度很慢,所以使用它,更换国内游是比较好的选择... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ### 设置`Clion`编译器为自己下载的`gcc` 打开`CLion`软件,同时按下`command`和`,`键,调出软件偏好设置,在`构建,执行,部署`目录下的`工具链`中更改默认的`c compiler`和`c++ compiler` ![1951513317.png][1] 有关`CLion`的汉化,参见 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="http://blog.ruixiaolu.com/archives/18/" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(http://blog.ruixiaolu.com/usr/themes/handsome/assets/img/sj/4.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">JetBrains 系列 IDE 汉化教程</p> <div class="inster-summary text-muted"> JetBrains 家的 IDE 很好用,比如 CLion 解决了跨平台的 C++ 编程, Pycharm 是所有... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ### 编辑项目的`CMakeLists.txt` 在其中加入 ``` FIND_PACKAGE(OpenMP REQUIRED) if(OPENMP_FOUND) set(CMAKE_C_FLAGS "${OpenMP_C_FLAGS}") endif() ``` ## 测试运行并行程序 ```c #include <omp.h> #include <stdio.h> int main(){ #pragma omp parallel for for (int i = 0; i < 10; ++i){ printf("%d\n", i); } printf("\n"); return 0; } ``` 输出 ``` 1 3 2 5 4 7 9 0 6 8 ``` 成功! [1]: https://blog.ruixiaolu.com/usr/uploads/20200312022627.png 最后修改:2020 年 10 月 11 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏