CLion 使用笔记(三)
我已经在博客里面发布了好几篇 CLion 使用笔记了,没追究这是第几篇,姑且算作第三篇。
我的 CLion 是搭配了 MSYS2 和 Conan 使用的。MSYS2 提供 C++ toolchain。Conan 作为 C++ 包管理工具,用它可以方便地安装 Boost 等 C++ 库。
MSYS2 真是个好东西。很多包都更新得很快。我又有更新强迫症。每天好几遍 pacman -Syuu。刚才把 GCC 更新到了 9.1。GCC 9.1 是 5 月 3 号发布的。
每次更新 GCC 之后,需要在 CLion 中的一些地方修改 GCC 的版本,这些修改是关于 CMake 和 Conan 的。
关于 CMake 的修改
- 删除 cmake-build-debug/CMakeCache.txt (也可能是 cmake-build-release/CMakeCache.txt 或其他路径)
- File > Reload CMake Project
UPDATE
cmake-build-debug/conaninfo.txt 中也有编译器版本信息 compiler.version,需要确认其值是否正确。
关于 Conan 的修改
这一步也许不是必须的,不过我一般都会做。就是用最新的 GCC 把通过 Conan 安装的包重新 build(编译)一下。
方法是
点击 CLion 窗口底部的 Terminal 标签。
在 Terminal 中切换到项目的根目录,然后执行
conan install . --install-folder=cmake-build-debug --build-missing '与编译器版本和编译器路径相关的参数'
根据官方文档,可以把上述「与编译器版本和编译器路径相关的参数」写到一个配置文件里,这种配置文件称为 profile。注意,profile 文件不需要扩展名。
我把我用的 profile 文件命名为 gcc,其内容是
# I define this variable to store the root direcory of GCC
GCC_BIN=D:\msys64\mingw64\bin
[settings]
os=Windows
arch=x86_64
compiler=gcc
# set compiler.version to the proper value
compiler.version=9.1
compiler.libcxx=libstdc++11
build_type=Debug
[options]
[build_requires]
[env]
CC=$GCC_BIN\gcc
CXX=$GCC_BIN\g++
注意,在 profile 中,注释要单独写在一行,不能写在某个配置行的末尾。
通过 -pr 选项引入 profile,格式是 -pr=path/to/prile。
CLion 使用笔记(三)的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- Mastering Web Application Development with AngularJS 读书笔记(三)
第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...
- Python 学习笔记三
笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...
- 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现
本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- 构建高性能WEB站点笔记三
构建高性能WEB站点笔记三 第10章 分布式缓存 10.1数据库的前端缓存区 文件系统内核缓冲区,位于物理内存的内核地址空间,除了使用O_DIRECT标记打开的文件以外,所有对磁盘文件的读写操作都要经 ...
- Git 笔记三 Git的初步使用
Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...
随机推荐
- MySQL详细安装过程
目录 一.概述 二.MySQL安装 三.安装成功验证 四.NavicatforMySQL下载及使用 一.概述 MySQL版本:5.7.17 下载地址:http://rj.baidu.com/soft/ ...
- Django之视图和URL配置
1.在创建项目时,Django会自动创建URL配置,在urls.py文件中 文件的默认内容如下所示: """mysite URL Configuration The ur ...
- 两台centos之间使用scp命令传输文件
1.将本地文件copy到远程 (1)复制文件 scp local_file remote_username@remote_ip:remote_folder 例如:将/usr/local/aa.png文 ...
- window.onload和$(docunment).ready的区别
浏览器加载完DOM后,会通过javascript为DOM元素添加事件,在javascript中,通常使用window.onload()方法. 在jquery中,则使用$(document).ready ...
- 删除Zend Studio项目
导入了过大的项目,导致很卡,且Close Project和Delete操作不了,一直无响应. 调整项目目录下的隐藏文件夹,删除对应项目: E:\www\.metadata\.plugins\org.e ...
- python变量声明及简单数据类型
一.python声明变量 变量的命名和使用 # 在Python中使用变量时,需要遵守一些规则和指南. # 违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解.请务必牢记下述有关变量的规则 ...
- relu函数是否存在梯度消失问题以及relu函数的死亡节点问题
relu函数是否存在梯度消失问题以及relu函数的死亡节点问题 存在,在小于的时候,激活函数梯度为零,梯度消失,神经元不更新,变成了死亡节点. 出现这个原因可能是因为学习率太大,导致w更新巨大,使得输 ...
- python标准模块
sys模块 这是一个跟python解释器关系密切的标准库.它提供了一些和python解释器操作密切的属性和函数. sys中常用的函数和属性: sys.argv: sys.argv是专门用来向pytho ...
- [BZOJ3312][USACO]不找零(状压DP)
Description 约翰带着 N 头奶牛在超市买东西,现在他们正在排队付钱,排在第 i 个位置的奶牛需要支付 Ci元.今天说好所有东西都是约翰请客的,但直到付账的时候,约翰才意识到自己没带钱,身上 ...
- 2018年湘潭大学程序设计竞赛 E 吃货
题目描述 作为一个标准的吃货,mostshy又打算去联建商业街觅食了.混迹于商业街已久,mostshy已经知道了商业街的所有美食与其价格,而且他给每种美食都赋予了一个美味度,美味度越高表示他越喜爱这种 ...