热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Rust+CLion+Mingw64的安装

Rust语言是现代编程语言思想非常优秀的实践,很早就听说大名但一直没去学习,最近突发兴趣想了解了解。工欲善其事必先利其器,故打算配置一下编译环境,防止遗忘故进行了一些总结。Wind

Rust语言是现代编程语言思想非常优秀的实践,很早就听说大名但一直没去学习,最近突发兴趣想了解了解。工欲善其事必先利其器,故打算配置一下编译环境,防止遗忘故进行了一些总结。

Windows平台下的各个软件版本:

Rust:1.51.0

CLion:2021.1

Mingw64:8.1.0

注:本篇博文为亲自实践的总结,内容分为【教程】和【原理】两部分,前者为了提供直接的配置方案,后者解释原理并提供额外的策略;若软件版本号不相同直接照搬【教程】可能出现问题,此时可以参考【原理】部分自行探索。

 

【教程】

1. Mingw64的下载

若下载速度很慢或失效则需要去寻找其他的镜像站点或者挂VPN。

下载完成后解压并将Mingw64放到电脑的任意位置,将bin目录的路径放入电脑环境变量的Path中。

2. CLion的安装

官网下载安装即可,学生账号可以申请免费试用,否则需要购买。

3. 配置CLion的编译工具链为MinGW

随便新建一个Project,打开后,从工具栏进入设置配置:File->Settings->Build,Execution,Deployment->Toolchains

一般而言,此时应该能看到右侧存在一个MinGW(default),Environment那一项对应自己mingw64所放置的路径,且自动检测到整个工具链,则不需要任何操作。


  • MinGW不在最上侧,通过上图1处的上下箭头进行调整;
  • 不存在MinGW,则点击上图1处的加号,选择MinGW,默认会自动检测并填充每项空格,若没有检测到则需要手动添加。

4. 安装Rust(建议关闭CLion)

1)下载rustup-init.exe(先不运行)

2)配置安装路径

如果希望Rust默认安装则跳过该步骤,若需要安装在其他地方,则需要添加如下两个环境变量:

CARGO_HOME:cargo的安装路径,本人设置成了D:\Rust\cargo

RUSTUP_HOME:rustc的安装路径,本人设置成了D:\Rust\rustup

3)运行rustup-init.exe

出现提示后输入2,则会依次询问安装配置,其中host triple填写为x86_64-pc-windows-gnu,其他直接回车即可

等到配置完,注意下图红线位置是否与填写的一致,输入1或者直接回车等待安装完成即可。

4)配置默认链接器

在cargo的安装目录(若配置了CARGO_HOME则为该路径,也就是D:\Rust\cargo目录,否则得找到默认的安装路径,一般为C盘用户目录下的.cargo)下新建配置文件,文件名为config或者config.toml均可,添加如下两行:

[target.x86_64-pc-windows-gnu]

linker = "D:\\mingw64\\bin\\gcc.exe"

第二行为mingw64的gcc路径,需要根据自己的真实安装位置修改 。

5. 运行CLion,安装Rust插件(File->Settings->Plugins,搜索Rust安装第一个即可),重启CLion,新建Project就能看到Rust选项了,即可享受被Rust虐之旅

 

【原理】

1.Mingw

MinGW为windows下的GNU工具链,主要是用到了其提供的C/C++编译链。目前Rust语言还处于不断迭代之中,需要用到C/C++的工具链协助链接,所以在4(4)这个步骤相当于告诉Rust编译器gcc的位置。相信不久的未来随着Rust的应用越来越广泛,会形成更加完善的生态不再依赖外部。

2.Clion

CLion为Jetbrain公式开发的跨平台C/C++集成开发环境,由于目前还没有特别主流的Rust集成环境,故现在选择了CLion。

3.配置CLion的编译工具链为MinGW

对于一门编程语言来说,要么存在编译器(如gcc)要么存在解释器(如JVM),上文的教程中我们在CLion里面配置了相应的C语言编译工具。个人认为自行配置这些环境可以帮助理解编程语言这个工具(编程语言只是工具不是目的,学习一种编程语言一定是为了完成特定的功能或任务,或者觉得好玩),而一开始就用Visual Studio会让人变懒。网上有大量的教程讲解如何下载和配置MinGW,故不再赘述。

4.Rust

Rust的学习成本较高,首先自定义安装就不是很方便,需要借助命令行来配置,未来可能会出现更为便捷的安装配置方式。

环境变量是操作系统的运行环境配置,比如Windows的环境变量Path表示默认搜索路径,对于用户来说可以将环境变量看做全局标签,Rust就是通过读取环境变量的值来决定自己的安装和编译行为的。这也为何在安装Rust之前配置RUSTUP_HOME和CARGO_HOME的原因。

其中RUSTUP_HOME表示Rust编译器的安装目录,CARGO_HOME表示是Rust的包管理工具cargo的安装路径。编程语言通过特定的工具进行包管理是非常高效的行为,比如Python的pip工具,Java的包管理器Maven等。当然如果经常写C/C++的话可能并不熟悉包管理,在C++中通过头文件来管理外部的函数或库,其实这是非常低效的行为,现代编程语言很多都抛弃了这个功能(头文件系统是C++的累赘,否则为何C++ 20要引入模块(Modules)这个功能)。个人的观点是,技术是发展的,所有过去学会的技术绝不是一定不易的,不断学习才能取得进步。

5. 下载CLion的Rust插件

因为CLion本身是C/C++开发平台,并不能直接编写并调试Rust程序,故需要额外的插件,好在Jetbrain官方就提供了这样的插件,直接安装就行,这提供了对Rust代码的自动补全、颜色高亮等等功能。

需要注意的是,通过CLion新建Rust项目目前还不是很稳定,有时会出现无法新建的bug,这时在powershell上使用cargo新建(cargo new 项目名)即可,编写和调试代码再借助CLion。



推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • Howtobuilda./configure&&make&&makeins ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • Android NDK开发的一点尝试
    写在前面笔者是一个“原始”的C++开发者,对Java编程虽说不上抵触但也没有C++那么顺手。而且,作为一个游戏引擎,不管是在什么地方,效率总是第一位的,尤其是在移动平台这样资源吃紧 ... [详细]
author-avatar
江苏蓝凯-我家在装修_708
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有