gpt4 book ai didi

C - 无法在 Ubuntu 上静态链接到 OpenSSL

转载 作者:行者123 更新时间:2023-12-04 05:08:47 24 4
gpt4 key购买 nike

按照 here 的说明,我从 here 下载了最新版本的 OpenSSL (openssl-1.0.1e.tar.gz) 并将其安装在 Ubuntu v12.10(32 位)上。

我在 Eclipse CDT (v1.2.0.201212170456) 中有一个 C 项目,它静态链接到以下两个 .a 文件:

  • home/usr/local/ssl/lib/libcrypto.a
  • home/usr/local/ssl/lib/libssl.a

  • 但是,当我构建项目时,会出现以下错误:
    /home/tashimaya/Applications/CodeSourcery/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /usr/local/ssl/lib/libssl.a when searching for -lssl
    /home/tashimaya/Applications/CodeSourcery/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find –lssl

    我的工具链是 CodeSourcery (Sourcery G++ Lite 2010q1-202),适用于 32 位操作系统。

    我究竟做错了什么?

    我正在使用的编译器命令行:
    arm-none-linux-gnueabi-gcc -I"/path to my/include" -O0 -g3 -Wall -c -fmessage-length=0 -v -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c"

    最佳答案

    您已经在 Ubuntu 32 位机器(假设 x86)上安装了 OpenSSL,但正在尝试将其链接到 ARM 二进制文件:

  • /home/tashimaya/Applications/CodeSourcery/bin/../lib/gcc/arm-none-linux-gnueabi : 你的 ARM 工具链
  • /usr/local/ssl/lib/libssl.a : 一个 32 位 x86 版本的 OpenSSL

  • 您必须使用您的 ARM 工具链(即: arm-none-linux-gnueabi-gcc)为 ARM 交叉编译 OpenSSL,然后才能将其链接到 ARM 二进制文件。

    关于C - 无法在 Ubuntu 上静态链接到 OpenSSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15157920/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com