rust疑难杂症

devtools/2024/10/19 2:25:15/

rust_0">rust疑难杂症解决

边碰到边记录,后续可能会逐步增加,备查

  • cargo build时碰到 Blocking waiting for file lock on package cache
    原因是Cargo 无法获取对包缓存的文件锁,
    有时vscode中项目比较多,如果其中某些库应用有问题,rust-analylzer转圈圈的时候容易碰到这个情况。
    在这里插入图片描述

如果确定没有其他程序占用,执行以下命令(或者暂停rust-analyzer,或者把有问题的项目移出vscode)
rm -rf ~/.cargo/.package-cache
执行之后就可以cargo build了。

  • 编译时有时会有很多警告,影响观察输出结果
    如果要忽略这些警告,可以在main.rs最上部增加以下代码,
    #![allow(dead_code)] // 忽略因未使用的代码而产生 “dead code” 警告
    #![allow(unused_variables)] // 忽略未使用的变量而产生 “unused variable” 警告
    #![allow(unused_assignments)] // 忽略未使用的赋值操作而产生 “unused assignment” 警告
    #![allow(unused_attributes)] // 忽略未使用的属性指令而产生 “unused attribute” 警告
    或者
    RUSTFLAGS=“-Awarnings” cargo build

  • 有时编译很老的项目时,默认的新的编译器和老的rust库产生不兼容问题
    比如有一次编译一个老项目,项目引用的第三方库引用了老版的socketaddr.rs,
    使用cargo build时报错了:
    cannot transmute between types of different sizes, or dependently-sized types
    mem::transmute::<SocketAddrV4, sockaddr_in>(v4);(SocketAddrV4和sockaddr_in定义不同)
    解决方法(使用特定的老版本rust编译项目):
    rustup toolchain install 1.50.0
    cargo +1.50.0 build 或者 rustup run 1.50.0 cargo build


http://www.ppmy.cn/devtools/27798.html

相关文章

aic8800 linux

编译方法参考 http://t.csdnimg.cn/epR89 aic8800 源码在 github 里。同样需要 cfg80211 和 mac80211 aic_load_fw/aic_load_fw.ko aic8800_fdrv/aic8800_fdrv.ko都放到放 .ko 的地方 src/USB/driver_fw/drivers/aic8800 就是源码&#xff0c;没有蓝牙的型号不需要aic_btusb …

Sentinel 控制台学习

引言 上篇文章已经讲过 SpringCloud Sentinel集成到微服务项目中&#xff0c;接下来我们继续学习怎么使用sentinel控制台对微服务进行限流&#xff0c;熔断&#xff0c;降级等一系列操作。 控制台 接下来我们单独讲解每一个菜单按钮 实时监控 实时监控&#xff1a; 可以看到…

fatal: unable to access ‘https://github.com/alibaba/flutter_boost.git/

Git error. Command: git fetch stdout: stderr: fatal: unable to access ‘https://github.com/alibaba/flutter_boost.git/’: Failed to connect to github.com port 443 after 75005 ms: Couldn’t connect to server exit code: 128 GitHub (国际型)代码 分发平台/托管平…

SPARC VScode EIDE GDB 使用配置

前言 搞了多年的SPARC 最近接触了VSCODE插件感觉好用。想想看不是能方便调试和编译SPARC&#xff0c;决定使用开源的SPARC仿真环境和编译器来试试。感觉的却不错&#xff0c;借此献给使用SPARC的朋友们。安装 1.找微软官方的下载VSCODE. 2.电机左边的方块形状的图标&#xff0…

『大模型笔记』Code Example: Function Calling with ChatGPT

Code Example: Function Calling with ChatGPT 文章目录 一. Code Example: Function Calling with ChatGPT二. 参考文献一. Code Example: Function Calling with ChatGPT from openai import OpenAI from dotenv import load_dotenv import json# --------------------------…

汇川AM400PLC和禾川X3E伺服EtherCAT通信

1、汇川H5UPLC和X3E伺服EtherCAT总线控制 汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服_伺服驱动器 ethercat csdn 汇川-CSDN博客文章浏览阅读1.7w次,点赞3次,收藏37次。首先我们看下系统硬件和软件配置:汇川H5U PLC的编程软件是:AutoShop V4.6.3.0 硬件:PLC H5U-161…

PHP学习笔记

一、格式化输出&#xff0c;使用pre后在浏览器可以格式化的观看 <pre><?php print_r($_SERVER[SERVER_ADDR]); ?> </pre> 二、自定义函数&#xff0c;自定义getFactors函数,输入一个正整数参数&#xff0c;返回该正整数的所有因子 function getFactors…

如何使用Go语言的标准库和第三方库?

文章目录 一、如何使用Go语言的标准库示例&#xff1a;使用标准库中的fmt包打印输出 二、如何使用Go语言的第三方库示例&#xff1a;使用第三方库github.com/gin-gonic/gin创建Web服务器 总结 在Go语言中&#xff0c;标准库和第三方库的使用是日常编程中不可或缺的一部分。标准…