zoukankan      html  css  js  c++  java
  • rust编译

    Rust编译链问题

    在rust的使用过程当中,遇到了一个交叉编译的问题,赶紧现在的交叉编译并不完善,没有像go那样好用

    方案1

    1. 我在mac端写好对应的程序,并编译(没有用交叉编译) 2. 在linux端无法执行编译后的程序 # 这是正常的 ,因为我没有使用交叉编译,但是mac的交叉编译,我在下载编译链的时候,电脑风扇哗哗哗的转,于是我就放弃了这个选择

    方案2

    1. 在mac端编写好程序,使用对应系统的机器编译,再使用 2. 但是这里有另外一个问题,首先我编译的机器是centos7 或者Ubuntu20,运行的机器系统是 centos6(因为特殊原因不想破坏centos6的环境) 3. 这样就会导致centos6无法跑centos7编译好后的程序

    方案3

    1. 在mac端编写好程序,使用对应系统对应版本的机器进行编译,再运行 2. 在centos6上安装好环境,发现版本不对,但是怎么升级编译链都升级不上去

    这里要提一句,rust的版本控制主要看两个, 一个是rustc 一个是cargo ,但是在更新上主要使用rustup来升级

    # 查看当前rustc 的版本
    rustc --version
    # 查看当前cargo 的版本
    cargo --version
    

    使用rustup升级

    # 先升级本身
    rustup self update
    # 再升级工具链
    rustup update 
    # 这时候就可以看当前有哪些工具链了,可以看下图
    rustup show 
    # 这个时候并没有正式的替换,需要使用default来更改默认编译的版本
    rustup default xxxx-unknown-linux-gnu
    
    
    ## 示例 安装nightly版本
    rust self update
    rust update
    rustup install nightly  
    rustup default nightly 
    
    ## 示例 安装其他的版本
    rust self update 
    rust update
    rustup install nightly-2020-03-19
    rustup default nightly-2020-03-19
    

  • 相关阅读:
    c# 02-18 值类型 引用类型 字符串的不可变性 字符串的处理方法
    c#0218-命名空间
    c#学习0217
    BootStrap学习
    c#学习0216
    AngularJS学习
    java面试题之什么是死锁、活锁、饿死和竞态条件?
    java面试题之能创建volatile数组吗?
    java面试题之sleep()和wait()方法的区别
    java面试题之Thread的run()和start()方法有什么区别
  • 原文地址:https://www.cnblogs.com/Alpacapyer/p/14738019.html
Copyright © 2011-2022 走看看