rust疑难杂症

ops/2024/10/18 16:54: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/ops/27366.html

相关文章

使用docker创建rocketMQ主从结构,使用

1、 创建目录 mkdir -p /docker/rocketmq/logs/nameserver-a mkdir -p /docker/rocketmq/logs/nameserver-b mkdir -p /docker/rocketmq/logs/broker-a mkdir -p /docker/rocketmq/logs/broker-b mkdir -p /docker/rocketmq/store/broker-a mkdir -p /docker/rocketmq/store/b…

Java_从入门到JavaEE_08

一、Eclipse开发工具的介绍 Eclipse工具简绍 Eclipse 是著名的跨平台的自由集成开发环境&#xff08;IDE&#xff09;。最初主要用来 Java 语言开发&#xff0c;但是目前亦有人通过插件使其作为其他计算机语言比如 C 和 Python 的开发工具。 下载与安装 下载&#xff1a; Ecli…

持续总结中!2024年面试必问 100 道 Java基础面试题(二十一)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 100 道 Java基础面试题&#xff08;二十&#xff09;-CSDN博客 四十一、switch是否能用在String上&#xff1f; 在Java中&#xff0c;switch语句可以使用String类型的变量。从Java 7开始&#xff0c;switch语句的…

Python爬虫-车主之家详情页汽车数据

前言 本文是该专栏的第26篇,后面会持续分享python爬虫干货知识,记得关注。 本文以车主之家的汽车详情页为例,获取对应车型的全部汽车相关数据(包含车型配置,车型销售数据,以及上牌数据等等)。 具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,…

CHATGPT对写作业的好处

原文&#xff1a;chatGPT对写作业的好处 - 夸智网 本文目录一览1、chatGPT对写作业的好处2、chatGPT批改作业3、chatGPT完成作业4、chatGPT写作业水平超过大学生5、美国大学生用chatGPT写作业大家好&#xff0c;今天来为您分享chatGPT对写作业的好处的一些知识&#xff0c;本文…

React中,双花括号和单花括号的区别(四)

在React中&#xff0c;花括号 {} 用于在JSX中插入JavaScript表达式。 单花括号 {}&#xff1a;通常用于在JSX中嵌入JavaScript表达式。这些表达式可以是变量、函数调用、对象字面量、数组等。React会评估这些表达式&#xff0c;并将结果插入到JSX中。 例如&#xff0c;在你的代…

json库源码阅读

JSON.h** #ifndef cJSON__h #define cJSON__h#ifdef __cplusplus //extern "C"的主要作用就是为了能够正确实现C代码调用其他C语言代码。加上extern "C"后&#xff0c;会指示编译器这部分代码按C语言的进行编译&#xff0c;而不是C的。这样的话cjson库在c…

js动态设置css主题(Style-setProperty)

hex颜色转RGB hex2rgb(str ) {str str.replace("#", "");const hxs: any str.match(/../g);for (let index 0; index < 3; index) hxs[index] parseInt(hxs[index], 16);return hxs;} RGB转HXS rgb2hex(r: any, g: any, b: any) {const hexs [r.…