【问题标题】:mingw32 compiler giving error with -lcryptmingw32 编译器使用 -lcrypt 给出错误
【发布时间】:2018-01-23 20:30:06
【问题描述】:

我一直在尝试让我的 crack.c 代码在我的 Windows 10 笔记本电脑上运行。代码在 CS50 IDE(在线 IDE)上运行,没有任何错误。但是,当我尝试在命令行上使用 mingw32 在笔记本电脑上编译代码时,编译器给了我一个错误:

 c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot 
 find -lcrypt collect2.exe: error: ld returned 1 exit status

代码使用来自 Linux C 库的crypt()。我试图通过-lcrypt 将编译器链接到此,但显然它不存在。

如何解决这个问题?

【问题讨论】:

  • MinGW 是一个“Windows 上的最小 GNU”系统。它不一定提供 GNU 通常提供的所有库。检查您是否可以找到用于 MinGW 的 libcrypt,或者考虑是否要使用 Cygwin——它确实提供了更好的 Unix (Linux) 兼容性,并且提供了诸如 libcrypt 之类的库。

标签: c compiler-errors cs50 mingw32 crypt


【解决方案1】:

MinGW 通常不附带 libcrypt。您必须找到静态库的 Windows 版本(我不知道有一个),或者您可以在项目中包含 crypt(3) 的源代码。

这个版本的crypt.c 过去曾为我工作过。 (代码在公共领域)。这是一个相当旧的版本,但已经足够了。

如果链接失效,一个简单的网络搜索应该会产生几个示例,因为来源广泛可用,具有不同的许可级别。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多