当前位置: 首页 > news >正文

建个人网站要多少钱厦门编程培训机构

建个人网站要多少钱,厦门编程培训机构,柳河网站建设,怎样自创网站1 起初环境没有问题:在Rust开发的时候起初使用的是mingw64平台加stable-x86_64-pc-windows-gnu编译链,当使用到diesel时会报错,如下: x86_64-w64-mingw32/bin/ld.exe: cannot find -lmysql具体信息很长这是主要信息是rust找不到链…

1 起初环境没有问题:在Rust开发的时候起初使用的是mingw64平台加stable-x86_64-pc-windows-gnu编译链,当使用到diesel时会报错,如下:

x86_64-w64-mingw32/bin/ld.exe: cannot find -lmysql具体信息很长这是主要信息是rust找不到链接mysql的驱动在哪里

解决方式:解决找到mysql的安转目录,找到lib目录下的libmysql.dll,把它放到:

C:\Users\hp\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib目录下,问题解决。

担是这是我安装Rust时默认的mingw64编译环境,现在我使用Tauri框架开发跨平台桌面程序,在windows中肯定不行,于是我切换到了visual studio环境下的编译工具链,首先是vs安装了c++的windows的桌面开发环境,具体操做:

切换rust的编译工具:

rustup default stable-x86_64-pc-windows-msvc

默认没有安装该工具就会下载,大小将近2G如果想使用两个环境可以保留两个工具链,如果嫌弃文件过大可删除,如下:

rustup toolchain uninstall stable-x86_64-pc-windows-msvc

生成的文件路径如下:

修改C:\Users\hp\.rustup目录下的settings文件如下:

default_host_triple = "x86_64-pc-windows-msvc"
default_toolchain = "stable-x86_64-pc-windows-msvc"
profile = "default"
version = "12"[overrides]

其中default_host_triple = "x86_64-pc-windows-gnu"要填写正确,否则vscode打开后Rust的代码解析插件始终无法启动:

切换vs环境后就可以使用Tauri 2.x框架开发基于webView的跨平台的桌面程序,同时支持android的快捷开发,后端使用Rust语言,前端使用js,方便地搭建了安卓开发环境和windows桌面开发环境。

2 切换后报符号链接问题:切换工具链后,在Rust使用ORM的diesel框架,又报一些链接错误的问题,比如mysqlClient链接错误,如果你本地安装了mysql就找到lib目录下的mysqlclient.lib配置环境变量和客户端版本号,如果没有安装mysql就去下载MySQL :: Download MySQL Connector/C (Archived Versions)保持all选项

如下:

MYSQLCLIENT_LIB_DIR=C:\Program Files\MySQL\MySQL Server 5.7\lib
MYSQLCLIENT_VERSION=8.0

配置完成后重新编译,此时发现链接不到库的问题解决,但同时发生代码报错问题,代码符号找不到,链接错误等一大堆问题,主要定位到mysqlclient-sys库下的build.rs文件下的95行,当前环境检测失败,无法编译报错。

按照这个可能可行,但由于磁盘有限下载一般就暂停了,这种环境问题的第三方包下载太麻烦,并且报错很可能与vs版本有关,于是就放弃vs的编译工具链。

3: 切换回原来的工具链:如果暂时不开发windows桌面和安卓程序,完全可以使用mingw64平台的工具链环境,这样不容易出错。切换方式比较简单,如下:

rustup default stable-x86_64-pc-windows-gnu  没有就会下载,并修改settings文件中的默认信息,这时可以删除vs的工具链rustup toolchain uninstall stable-x86_64-pc-windows-msvc,注意settings的配置信息,否则vscode的代码解析器插件服务无法启动。

rustup常见命令:

# 查看rustc版本
rustc --version# 显示当前安装的工具链信息
rustup show
# 检查安装更新
rustup update
# 卸载
rustup self uninstall
# 设置当前默认工具链
rustup default stable-x86_64-pc-windows-gnu
# 查看帮助
rustup -h# -------------------------->配置工具链
# 查看工具链
rustup toolchain list
# 安装工具链
rustup toolchain install stable-x86_64-pc-windows-gnu
# 卸载工具链
rustup toolchain uninstall stable-x86_64-pc-windows-gnu
# 设置自定义工具链
rustup toolchain link <toolchain-name> "<toolchain-path>"# -------------------------->配置一个目录以及其子目录的默认工具链
# 查看已设置的默认工具链
rustup override list
# 设置该目录以及其子目录的默认工具链
rustup override set <toolchain> --path <path>
# 取消目录以及其子目录的默认工具链
rustup override unset --path <path># -------------------------->配置工具链的可用目标
# 查看目标列表
rustup target list
# 安装目标
rustup target add <target>
# 卸载目标
rustup target remove <target>
# 为特定工具链安装目标
rustup target add --toolchain <toolchain> <target># -------------------------->配置 rustup 安装的组件
# 查看可用组件
rustup component list
# 安装组件
rustup component add <component>
# 卸载组件
rustup component remove <component>

cargo的基础命令:在用户主目录的 .cargo 目录下新建一个文件,命名为 config(没有扩展名),并输入以下内容配置下载的数据源,不配置下载速度可行

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'## 二选择一
## replace-with = 'XXX' 选择配置# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
 查看cargo版本
cargo --version# 新建项目
cargo new <project_name># 构建项目
cargo build# 运行项目
cargo run# 检查项目
cargo check# 查看帮助
cargo -h

一切切换回来后重新编译原来的Diesel库项目发现没有任何报错,担是在vs平台的编译链上的问题任然存在,如果你想一直基于vs平台下的编译链,建议在安装Rust时就和当前vs环境友好搭配下载安装,而我的是基于mingw64安转的忽略了很多环境切换上的问题,到此windows中使用Rust的ORM框架diesel报错问题初步解决。

4:问题解决:如果你windows上安装了mysql服务,就找到安装目录下的lib目录,在项目中创建build.rs文件指定依赖库的路径,如下代码:

fn main() {// 设置 MySQL 客户端库的搜索路径,找到libmysql.dll和libmysql或mysqlclientprintln!("cargo:rustc-link-search=native=C:\\Program Files\\MySQL\\MySQL Server 5.7\\lib");// 设置需要链接的库名println!("cargo:rustc-link-lib=dylib=libmysql"); // 使用 dylib 表示动态链接
}

如果你本地没有安装过mysql数据库,就从上面地址下载 MySQL :: Download MySQL Connector/C (Archived Versions) 的mysqlClient库,需要注意的是如果你使用vs的编译工具链就确保在链接时使用的是windows下的mysqlClient客户端,即lib下的mysqlclient.lib库文件如果使用的是mingw64平台的stable-x86_64-pc-windows-gnu编译链就去链接libmysql库,如果你链接的是mysqlclient.lib就会报符号链接错误,因为当前使用的是mingw64环境属于跨平台的linux环境需要使用libmysql.lib库,如果是vs环境需要去下载MySQL Connector C 6.1找到lib中的vs14下的mysqlclient.lib,这是windows平台下的,如果报符号错误问题,换一个版本,基本解决(注意:如果你配置了环境变量确保MYSQLCLIENT_LIB_DIR指定的mysql客户端的库的类型 一般下载来的使用C:\Program Files\MySQL\MySQL Connector C 6.1\lib\vs14路径是windows平台下的,如果项目本地没有build.rs配置则该环境变量起作用会发生符号链接错误,而当前你使用的是 stable-x86_64-pc-windows-gnu工具链,是linux环境你因该设置=C:\Program Files\MySQL\MySQL Server 5.7\lib)指定libmysql.lib库如果里面连个都用,最好在创建一个build.rs文件明确指定,否则用到了libmysqlclient下的库仍然报符号错误。

http://www.15wanjia.com/news/166334.html

相关文章:

  • 广州网站建设 美词教育网站怎么做弹窗的
  • 怎么查询网站是谁做的企业宽带
  • 网站制作方案怎么写油画风网站
  • 织梦手机网站源码下载wordpress 重写 函数
  • 山东省级建设主管部门网站东莞阳光网入口
  • 做公众号app网站app吗机械加工网外协
  • 怎样查网站的注册地点网页设计与网站建设的区别
  • 站长工具seo综合查询工具centos7 wordpress搭建
  • 手工制作国庆节作品搜索引擎优化包括
  • 网站开发的形式有( )旅行社英文模板网站
  • 怎么做网站何做网站微网站建设完 不知道怎么推广咋办
  • 网站做百度权重排名论坛优化国内访问wordpress
  • 网站后台登陆验证码不显示什么信息发布型网站
  • 网站开发流程进度表寿光建设局网站
  • 购物分享网站怎么做的企业如何打造自己的品牌
  • 网站建设与管理实用教程课后答案空间网站建设
  • 如何在百度提交网站怎么查询二级建造师注册情况
  • 兰州网站搜索引擎优化wordpress加js
  • 用lnmp做网站呼市做无痛人流z首大网站
  • 网站建设动态页面修改删除wordpress woomerce
  • 广州做网站一般要多少钱?家居用品东莞网站建设
  • 移动端网站一般宽做多大深圳公司注册开户
  • 企业网站代码绍兴建站公司模板
  • 该网站无备案深圳品牌策划公司排行榜
  • 网站建设定位南山网站(建设深圳信科)
  • 网站目录结构模板网址短链接在线生成免费
  • 知名网站制作企业文库百度登录入口
  • 网站建设全程揭秘 课件下载求个没封的w站2021软件
  • 怎么识别网站是用什么语言做的dw淘宝网页制作视频教程
  • 制作网站参考网站开发一个网站