当前位置: 首页 > 面试题库 >

无法链接OpenSSL代码

张承颜
2023-03-14
问题内容

我正在尝试构建一个openssl简单程序。这是完整的代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "openssl/aes.h"

int main(int argc, char* argv[])
{
    AES_KEY aesKey_;
    unsigned char userKey_[16];
    unsigned char in_[16];
    unsigned char out_[16];
    strcpy(userKey_,"0123456789123456");
    strcpy(in_,"0123456789123456");

    fprintf(stdout,"Original message: %s", in_);
    AES_set_encrypt_key(userKey_, 128, &aesKey_);
    AES_encrypt(in_, out_, &aesKey_);

    AES_set_decrypt_key(userKey_, 128, &aesKey_);
    AES_decrypt(out_, in_,&aesKey_);
    fprintf(stdout,"Recovered Original message: %s", in_);      
    return 0;
}

我尝试使用以下命令进行编译:

gcc -I/home/aleksei/openSSL0.9.8/include -o app -L . -lssl -lcrypto tema1.c

我得到这个:

 /tmp/ccT1XMid.o: In function `main':
 tema1.c:(.text+0x8d): undefined reference to `AES_set_encrypt_key'
 tema1.c:(.text+0xa7): undefined reference to `AES_encrypt'
 tema1.c:(.text+0xbf): undefined reference to `AES_set_decrypt_key'
 tema1.c:(.text+0xd9): undefined reference to `AES_decrypt'
 collect2: ld returned 1 exit status

我在Ubuntu 10.04下。我怎样才能使它工作?


问题答案:

您可能正在尝试静态链接,但是该-L选项并-lcrypto正在寻找要动态链接的文件。要静态链接到特定库,只需.a在所有源文件之后在编译器命令行上指定文件即可。

例如,

gcc -I/home/aleksei/openSSL0.9.8/include -o app tema1.c ./libcrypto.a


 类似资料:
  • 问题内容: 我已经从源代码构建了OpenSSL(一个有意的旧版本;使用来构建),并且更愿意使用我所构建的内容,而不用链接到我的程序。 失败的命令是: 并且我收到一系列类似于以下的错误: 这使我认为我的OpenSSL有点时髦。如果我从命令中省略,则错误变为无法执行以下操作: 我是否编译不正确的OpenSSL?还是我应该如何最好地解决这个问题? 问题答案: 愚蠢的“ Linux-isms”再次罢工!很

  • 在构建netty-tcnate-openssl-stest-2.0.28之后。final-windows-从源x86_64,使用创建的jar文件在运行时导致未解决的依赖项错误: 也许这是由内急引起的。依赖于openssl dll的dll: 你知道为什么这些不会被静态地链接到netty_tcnative吗。动态链接库? 构建是使用Windows 10,x86 x64交叉工具完成的Microsoft

  • 我正在尝试编译github源代码中为protobuf提供的示例代码(添加地址,然后以序列化的方式将其发送给另一个反序列化并显示它的程序)。 源代码编译安装成功。(3.13.0版)。 当我尝试编译C示例文件(add\u person.cpp)时,这个问题就开始了。 我在VS 2019中创建了一个空白的C项目,然后粘贴了源代码行,并设置了额外的include路径以包含protobuf安装目录/incl

  • 问题内容: 我正在开发Spring,Hibernate,JSP应用程序。我正在尝试从我的JSP页面显示图像。图像未显示在浏览器中。我也无法将CSS链接到JSP页面。 我的JSP页面是: 我已经设定 用于我的图像和CSS文件夹 我的Spring Security xml是: 问题答案: 我已通过在文件中添加以下映射解决了该问题 并添加图片src网址。喜欢

  • 我正在使用撒克逊语(9.1)和FOP(0.95)创建目录和书签树。一切正常,除了以下 FOP 输出: 在生成的 PDF 中,所有链接(来自目录和书签树)都指向第一章。为什么?感谢您的任何帮助。 XML输入文件: XSLT 2.0 样式表(仅省略定义块特性的属性集)

  • 我在这行有一个错误:最终用户=新用户(地址、确认密码、用户电子邮件、密码、电话号码、用户名、链接); 错误为“无法解决符号链接” 我已经删除了一些代码,如果你需要更多细节,请在下面留下评论。有人能帮忙吗?非常感谢你的帮助