我试图交叉编译我自己的共享库(libmystuff.so)针对使用libcurl共享库的另一个共享库(libtheirstuff.so),并且获取以下错误:“没有版本符号的符号版本部分”
libmystuff.so: No symbol version section for versioned symbol
'[email protected]@CURL_OPENSSL_3'
,然后依次为:
通过创建libtheirstuff代码去,我可以看到,curl_global_init是卷曲的第一参考。
在目标平台(arm5)上做ldd libtheirstuff.so
显示它可以找到所有的引用。
这是怎么回事吗?
编辑:这是gcc的
arm-none-linux-gnueabi-gcc -fPIC -c mystuff_impl.c -o mystuff_impl.o -I/home/me/arm/include
arm-none-linux-gnueabi-gcc -shared -Wl,soname=libmystuff.so -o libmystuff.so.0.1 mystuff_impl.o -L/home/me/arm/lib -ltheirstuff
它可能是你在链接库的顺序? – 2013-03-08 23:20:29
我只连接一个库。请参阅编辑gcc的调用。 – cachance7 2013-03-09 00:39:17
看起来像其他人也有类似的问题。也许需要使用其他版本的卷曲库,一个与该头部库兼容。 – 2013-03-09 01:06:41