我試圖交叉編譯我自己的共享庫(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