Rust windows-gnu toolchain ld cannot find lmysql问题及解决方法

感谢这位大神的文章,为我打开了新思路:
https://blog.csdn.net/dyr_1203/article/details/115271294

问题描述

因为要使用IDEA来debug Diesel的应用,而IDEA必须要使用GNU版本的工具链,所以安装之。
而后不管是MinGW还是IDEA里执行cargo run/test,都会报下面的错误。

解决过程

一开始我参照上文的例子,将libmysql.dll放到

C:\MinGW\lib
不行

然后我又注意到gcc文件夹,因此又放到:

C:\MinGW\lib\gcc\mingw32\5.3.0
还是不行

但是按照这位道友的思路,顺着大神手指的方向看去,发现ld: cannot find -lmysql错误的原因——在该找到的libmysql.dll的位置没找到。于是我仔细看这一陀英文,发现它-L到一个神奇的位置

C:\Users\tiina.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib
把libmysql.dll放进去
这下行了

C:/Users/tiina/.cargo/bin/cargo.exe run --color=always --package diesel_demo --bin diesel_demo
Compiling mysqlclient-sys v0.2.4
Compiling diesel v1.4.6
Compiling diesel_demo v0.1.0 (G:\workspace_rh\study2\diesel_demo)
error: linking with x86_64-w64-mingw32-gcc failed: exit code: 1
|
= note: “x86_64-w64-mingw32-gcc” “-fno-use-linker-plugin” “-Wl,–nxcompat” “-Wl,–dynamicbase” “-Wl,–disable-auto-image-base” “-m64” “-Wl,–high-entropy-va” “-nostartfiles” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\self-contained\crt2.o” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\rsbegin.o” “-L” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib” “-L” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\self-contained” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.1cdqhdpfxu6az1zb.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.1fvrk4wo8mvz04fo.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.1o4zozjzibq055b3.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.1ra8u37vgwmpsvn2.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.1ybnpbdi0vb372yt.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.224c8uyxjg8p2e7n.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.22lfwg12mz5yokrv.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.2js6fsi5l1era1ih.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.2uvn1zn7okvrjzkw.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.30knujgqxo4kozyx.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.31lfqst6ykh62ngv.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.330ta6ewtgjr70b7.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.33s8e3130rkqg20w.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.391ki7hgq6tgyq3y.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.3k6j07o1w81wnpi7.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.3qv4rbcef7kabjm6.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.45k429i4cef7qrh7.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.46r9j4ruqg5f7bbv.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.46sxouunt0oenph9.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4auaiy9gvbgugn67.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4bzjry2l6cvjwr3d.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4e9wo9zr762n7k1x.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4fja4j92g7vnqvkm.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4ry2oqba7kzoc6i5.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4unb2dtnbx6gywr2.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4wkesgf32aufbdbc.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.4zkcfmm99eognwv3.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.7jhajuawexulmiu.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.ajs15i45iry68ru.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.di4vny33q7qaj4x.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.jg432uxhsds13ed.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.v2bc2rhfuhnk5le.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.xmlq6ekwktlpab4.rcgu.o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.yhu6aidxc55r2ly.rcgu.o” “-o” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.exe” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\diesel_demo-6ffd8259f9d96ae4.39i8q2sqg6sdfccl.rcgu.o” “-Wl,–gc-sections” “-nodefaultlibs” “-L” “G:\workspace_rh\study2\diesel_demo\target\debug\deps” “-L” “C:\Users\tiina\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-x86_64-pc-windows-gnu-0.4.0\lib” “-L” “C:\Program Files\MySQL\MySQL Connector C 6.1\lib\vs14” “-L” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib” “-Wl,-Bstatic” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libdiesel_demo-6320ff9c97c3a7ee.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libdotenv-3e1cf0403664e776.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libdiesel-787dd8b126b1bace.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libbigdecimal-f1c3d830f70478b5.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libnum_bigint-4877a7b6276e584e.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libchrono-0dcc7d6f03485092.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libserde-407d84cc35db0271.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libnum_integer-c9d2788414e52880.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libnum_traits-51993df203a6dd6e.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\liblibc-a4f3381353ff72ce.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libtime-d006c727b8d8a1a5.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libwinapi-1ba3a457fdf301c9.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\liburl-f091c50e0db21fb6.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libpercent_encoding-cedcec4bd1b8a58a.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libidna-797ce940f3f32869.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libunicode_normalization-936e2d4e752b42aa.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libtinyvec-63d1d121941ff237.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libtinyvec_macros-60524300e9b0ca19.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libunicode_bidi-c4ec6f97342340af.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libmatches-23dd0aedccaea446.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libmysqlclient_sys-5be0445ee9fec21c.rlib” “G:\workspace_rh\study2\diesel_demo\target\debug\deps\libbyteorder-e3385b8a71b266e9.rlib” “-Wl,–start-group” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libstd-b3e05fb1c668425d.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libpanic_unwind-de6b1e1839bc55c3.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libobject-d462ba5d23db4375.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libaddr2line-91f359062fcc4faa.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libgimli-1285b73e96b90384.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\librustc_demangle-2e399a6f31e1ac65.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libhashbrown-cdd2f8d624f05ca0.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\librustc_std_workspace_alloc-dfacd2ffb7ac7d0f.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libunwind-113950dd2d010a25.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libcfg_if-acaab9dfbd2da45f.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\liblibc-c8a337935bf5603e.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\liballoc-e81d86989503275b.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\librustc_std_workspace_core-037111c82a639dfe.rlib” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libcore-78a80358c99fdc57.rlib” “-Wl,–end-group” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\libcompiler_builtins-ae4f14151f891fbb.rlib” “-Wl,-Bdynamic” “-lwinapi_advapi32” “-lwinapi_kernel32” “-lmysql” “-ladvapi32” “-lws2_32” “-luserenv” “-lgcc_eh” “-l:libpthread.a” “-lmsvcrt” “-lmingwex” “-lmingw32” “-lgcc” “-lmsvcrt” “-luser32” “-lkernel32” “C:\Users\tiina\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\lib\rsend.o”
= note: ld: cannot find -lmysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mac Rust io-uring是一种在Mac操作系统上使用Rust语言进行开发的io-uring库。 io-uring是Linux内核中的一个新特性,它为应用程序提供了一种高性能、高效率的异步I/O操作方式。它通过使用事件驱动和无锁技术,实现了在高并发环境下进行文件操作的优化。io-uring提供了更低的系统开销和更高的吞吐量,特别适用于需要大量I/O操作的应用程序。 虽然io-uring最初是为Linux内核设计的,但由于其高性能的特性,一些开发者试图将其移植到其他操作系统上。其中,Mac Rust io-uring就是一个在Mac操作系统上使用Rust语言实现io-uring的库。 使用Mac Rust io-uring,开发者可以在Mac环境下利用io-uring的特性来提高文件操作的性能。这对于需要进行大量I/O操作的应用程序来说,是一个很有价值的工具。例如,对于数据库、Web服务器或文件传输等应用,通过使用Mac Rust io-uring,可以显著提高其性能和吞吐量。 Mac Rust io-uring不仅提供了对io-uring的封装,还提供了一些更高级别的功能和接口,以方便开发者使用。开发者可以使用Mac Rust io-uring来实现一些高级的文件操作,例如批量读取或写入文件,提高数据处理的效率。 总之,Mac Rust io-uring是一个在Mac操作系统上使用Rust语言开发的io-uring库,它能够为开发者提供高性能的异步I/O操作方式,从而提高应用程序的性能和吞吐量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值