< 返回版块

C-Jeril 发表于 2024-01-22 11:45

在Windows上使用VSCode进行cargo build或cargo run时遇到了0xc000007b错误,提示缺少相关DLL。您尝试了多种方法,包括检查msvc、各类环境、各类DLL、各类依赖项目的安装,设置各种path和环境变量,使用各种检查DLL的工具,下载了很多DLL,但仍然无法解决问题。

具体报错如下: error: linking with link.exe failed: exit code: 1181 = note: LINK : fatal error LNK1181: 无法打开输入文件“libpq.lib” 后来重装了postgreSQL,重新定位了安装文件夹等。 后来提示缺失DLL文件: target\debug\backend-rust.exe (exit code: 0xc0000135, STATUS_DLL_NOT_FOUND) 尝试在taget文件夹内,用depend.exe分析出缺失的DLL,尝试放了进去: libintl-9.dll libwinpthread-1.dll libssl-3-x64.dll libiconv-2.dll libcrypto-3-x64.dll

社区大神建议查看的帖子和尝试后仍然报错的链接。 https://taharmeijs.medium.com/diesel-rs-postgresql-linking-errors-on-windows-b769586664c1

后来无意中看到github上的一个思路,即将postgresql/16目录下的lib和bin文件夹中的所有内容直接复制到backend\target\debug文件夹里面,然后相关问题解决了,cargo run的时候能够正常运行起来了。

具体尝试以下解决方案:

  1. 确保您的系统环境变量和路径设置正确,特别是与msvc、postgreSQL和其他依赖项相关的环境变量。
  2. 确保您的项目依赖项正确安装,并且与您的项目兼容。
  3. 尝试将postgreSQL的lib和bin文件夹中的所有内容直接复制到backend\target\debug文件夹中,以解决缺失的DLL问题。

这种方法可能是一种权宜之计,希望大神解释一下原因,或者一起寻找更好的解决方案。

评论区

写评论
作者 C-Jeril 2024-01-22 15:00

哈哈,还在windows继续折磨中,折磨中成长;等后续再wsl

--
👇
Bai-Jinlin: 直接wsl,别折磨自己了

Bai-Jinlin 2024-01-22 11:57

直接wsl,别折磨自己了

作者 C-Jeril 2024-01-22 11:53

尝试了,不止bin目录,lib目录也要求增加到环境变量,但是还是不行。

--
👇
PaiHL: 将 postgres 的 bin 目录添加到环境变量

PaiHL 2024-01-22 11:50

将 postgres 的 bin 目录添加到环境变量

1 共 4 条评论, 1 页