与openssl库交叉编译时未定义的引用错误

时间:2013-10-09 14:18:52

标签: c linux openssl

目标是一个beaglebone black running debian

主机是运行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'

我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

终止,没有错误。