【问题标题】:undefined reference errors when cross-compiling with openssl library使用 openssl 库进行交叉编译时出现未定义的引用错误
【发布时间】:2013-10-09 14:18:51
【问题描述】:

目标是运行 debian 的 beaglebone black

主机是运行 Ubuntu 13.04 的 PC

我的代码可以在目标上编译成功。

gcc main.c -lssl

在主机上我使用的是 linaro gcc 编译器。

CC=gcc-linaro-arm-linux-gnueabihf-4.8-2013.07-1_linux/bin/arm-linux-gnueabihf-gcc

如果我将 /usr/lib/arm-linux-gnueabihf/libssl.so 从目标复制到主机上的 myLibs,然后尝试

 $CC main.c -L /myLibs/ -lssl

我明白了:

main.c:(.text+0x54): undefined reference to `SHA256_Init'

main.c:(.text+0x96): undefined reference to `SHA256_Update'

main.c:(.text+0xc8): undefined reference to `SHA256_Final'

libssl.so: undefined reference to `BIO_pop@OPENSSL_1.0.0'

我做错了什么?

【问题讨论】:

    标签: c linux openssl


    【解决方案1】:

    我将 libcrypto.so 和 libz.so 从目标复制到主机。 现在 $CC main.c -L /myLibs/ -lssl -lcrypto -lz

    无错误地终止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多