首页 > 解决方案 > 使用(过时的)C crypt() 方法做作业 - 编译器不会链接?

问题描述

全部:

我应该在家庭作业中使用 crypt() 函数。这是一种旧的 C 方法,可能非常不安全,但这只是为了演示目的。

唯一的事情,我不知道如何使用 dang 功能。我在 Ubuntu 上使用 CLion 作为我的 IDE。它应该在 <crypt.h> 或 <unistd.h> 中定义,但我无法编译这个东西。crypt() 函数在构建项目后出现“未定义引用”错误。不过,我知道它是这两个库之一 - 那么怎么了?链接到该库或其他东西有问题吗?我已经阅读并遇到了“使用 -lcrypt”,但我不完全确定在 CLion 中如何处理它。唯一的解释是涉及 make 文件。其中,不适用于我(或者他们适用,我不知道它是如何相关的)。由于该功能已经过时,因此也没有太多文档。

谢谢大家。

编辑:谢谢,尤金!我想我想通了这一点。. .

target_link_libraries(CryptExample -lcrypt)

在 CMake 文件中。

标签: c++cc++11clioncrypt

解决方案


对于将来偶然发现此问题的任何人,请添加

target_link_libraries(CryptExample -lcrypt)

到 CLion IDE 中的 CMakeLists.txt。它应该放在 add_executable(. . .) 行下。将“CryptExample”替换为您为项目命名的任何内容。


推荐阅读