Vagrant + Clion 跨平台 开发环境

本次 More Time 带来一篇C++的文章,可以减少配环境的时间,安心写代码。

跨平台

Java通过JVM,可以跨平台。
C++不能跨平台,直接本机运行。
那么,相关依赖装在哪里?直接装在系统目录下。
比如说 Mac 通过 homebrew 装的,就是装在 /usr/local 下。
/usr/local/include 下都是 .h 头文件。
现在问题来了, Linux 下就没有 homebrew,比如说 ubuntu 只有 apt get
那怎么办?也用 VM,直接机器级别的VM——Virtual Box

Vagrant

Vagrant 是一个搭开发环境的,我理解对 VM软件抽象了一层。支持多种 VM,还支持 Docker,这里用 Virtual Box。
用法就是先装一个 VirtualBox,再装一个 Vagrant。

装好之后按照 入门文档 操作即可。
先新建一个文件夹,cd 过去
之后

vagrant init hashicorp/bionic64

第一步会生成一个 Vagrantfile 文件,里面除去 # 注释掉的信息就3行

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/bionic64"
end

总之就是指定了镜像, "2" 是什么意思呢?就是 Vagrant的版本号。参考这个文档
之后运行 vagrant up
这样虚拟机就启动了
之后可以 vagrant ssh 过去
也可以直接 ssh vagrant@localhost -p2222 过去,密码也是 vagrant
挂起是 vagrant suspend ,关了是 vagrant halt 这个会先尝试正常关,不行再强关。
之后爱怎么用怎么用

最后是 vagrant package 这个命令 ,可以打包成 .box 文件,换台机器在 Vagrantfile 里指定这个就可以用了。如 config.vm.box = "~/Desktop/package.box"

Clion

Clion 是Jetbrains开发一款 C++ IDE。主要通过 CMake 来构建。
CMake 是 通过一个 CMakeLists.txt 作为项目的配置文件,就和 Maven 通过 pom.xml 来作为配置一样。
然后看 留在本地,让-ide-替您处理远程工作! 这篇文章。
首先先在远程(此处即 vagrant 虚拟机)搭建好环境,
装 cmake , cc (编译器), c++ (c++编译器), gdb(c++ 调试器)装好之后 Clion会自动检测到
一个很强的特性是:

除了将本地文件同步到远程主机之外,CLion 还将头文件搜索路径和所有内容都抓取到本地计算机,所以它可以正确解析您的代码。这意味着,例如,标准库头文件是从远程计算机中获得,但使用 CLion 的编辑器,您可以像导航本地文件一样导航到它们。

总结

本文介绍了一种工作流,这个工作流通过抽象一层开发环境虚拟机来解决 C++ 跨环境的问题。
先在 Windows, Mac, Linux 装上 Clion , Virtual Box 和 Vagrant的,之后需要给 Vagrant 虚拟机上装环境。代码可以保存到 git 上。这个虚拟机并不需要做很强的版本控制,代码版本控制就行了。
从很麻烦的装3个环境变成装1个最兼容的Linux环境,节省了不少时间。
并且如果是2个版本的依赖,直接搞2套环境就好了,就不用来回切换了。

欢迎关注
Vagrant + Clion 跨平台 开发环境_第1张图片

你可能感兴趣的:(Vagrant + Clion 跨平台 开发环境)