0

我有一个 Dragino Yun Shield(它基本上是一个 Arduino Yun,运行 OpenWRt Linino)并且我已经安装了 GCC,如下所述:

http://www.sniff.org.uk/2014/05/building-gcc-for-yun-in-12-not-easy.html

编译器似乎可以很好地满足我的需要(除了一些浮点警告),但我遇到了问题。我的 C 程序需要 curl 库,但链接器找不到它:

gcc -shared -fPIC kii_cloud.c kii_custom.c kii_prv_utils.c -L jansson -I curl -I jansson -l jansson -l curl -o libkii.so
/mnt/sda1/gcc/bin/ld: cannot find -lcurl
collect2: ld returned 1 exit status
make: *** [build] Error 1

但是安装了软件包 libcurl:

> opkg files libcurl
Package libcurl (7.29.0-1) is installed on root and has the following files:
/usr/lib/libcurl.so.4
/usr/lib/libcurl.so.4.3.0

似乎没有可用的 libcurlX-dev 包(如在大型 Linux 发行版中)。

有没有什么办法解决这一问题?/usr/lib/libcurl.so 是链接器想要的吗?

最好的问候和感谢。

4

2 回答 2

1

我通过创建如下符号链接解决了这个问题:

cd /usr/lib
ln -s libcurl.so.4.3.0 libcurl.so

此致

于 2015-02-05T18:41:30.030 回答
1

尝试将 -L/usr/lib 传递给您的调用。如果这不起作用,请尝试添加 -m32 然后在另一个调用 -m64 中都使用 -L 选项。

gcc -shared -fPIC kii_cloud.c kii_custom.c kii_prv_utils.c -Ljansson -Icurl -Ijansson -ljansson -lcurl -o libkii.so -L/usr/lib

于 2015-02-05T01:57:52.747 回答