c++ - Blowfish 和 undefined reference `BF_set_key'

标签 c++ openssl codeblocks undefined-reference blowfish

我已从此页面安装了 Win64 OpenSSL v1.0.1b 和 Visual C++ 2008 Redistributables http://slproweb.com/products/Win32OpenSSL.html并添加了编译器 (C:\OpenSSL-Win64\include) 和链接器路径 (C:\OpenSSL-Win64\bin, C:\OpenSSL-Win64\lib, C:\OpenSSL-Win64) 到 Code::Blocks,但我仍然无法编译我的程序。

源代码:

#include <cstring>
#include <openssl/blowfish.h>

int main() {
    const char * key = "aaabbbcccdddeeefffggghh";
    BF_KEY bfKey;

    BF_set_key(&bfKey, strlen(key), (const unsigned char *) key);

    return 0;
}

错误:

obj\Release\main.o:main.cpp|| undefined reference to `BF_set_key'|

我尝试添加-lssl-lopenssl-llibssl-lcrypto,但它没有工作。然后我可以看到另一个错误:

ld.exe||cannot find -lssl|

我不知道(谷歌也一样)该怎么做。知道我做错了什么吗?

最佳答案

我不确定您是否正确配置了它。似乎您还必须在设置库目录之上的构建选项中的某处添加您的项目正在使用的库。这有帮助吗? http://www.learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks/

关于c++ - Blowfish 和 undefined reference `BF_set_key',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10526640/

相关文章:

c++ - 创建对象数组 C++

c++ - OpenGL Assimp 导入模型不渲染

openssl - 不常见的 Homebrew 错误 : "Unknown command: switch"

Android 证书固定与公钥固定

gcc - 在您为 gnc gcc 编译器配置的搜索路径中找不到可执行文件

c# - 使用正则表达式将 double 替换为 float

C#6/C++ ref 关键字错误

ssl - 当服务器验证客户端证书失败时,tls 1.3 客户端不报告握手失败

Code::Blocks 中的 C 编译器在未找到 .h 文件时失败,即使目录中有文件

c++ - 如何在 Code::Blocks 上启用 SSE/SSE2?