我有一个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链接器想要什么?
致以最诚挚的问候和感谢。
答案 0 :(得分: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
答案 1 :(得分:1)
我通过创建符号链接解决了它,如下所示:
cd /usr/lib
ln -s libcurl.so.4.3.0 libcurl.so
祝你好运