2015-02-04 2 views
0

У меня есть Dragino Yun Shield (это в Arduino Yun в основном, работает OpenWRT Linino) и я установил GCC на нем, как описано здесь:GCC не может найти локон библиотеку

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

Компилятор кажется чтобы нормально работать для моих нужд (за исключением некоторых предупреждений с плавающей запятой), но я столкнулся с проблемой. Моя программа C требует локон библиотеки и не может быть найден с помощью линкера:

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 тем, чего хочет линкер?

С уважением и благодарностью.

ответ

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/Библиотека

+0

Спасибо большое, но я решил это мой ответ ниже. В любом случае, я очень ценю ваш вклад (поскольку это подходит для других подобных случаев). Thx – German

1

Я решил его путем создания символической ссылка выглядит следующим образом:

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

с наилучшими пожеланиями

+0

У меня такая же проблема, но я использую Arduino Yun. Я пробовал это решение, но оно не сработало. В вашей программе C вы включили curl/curl.h? – RiccardoCh

+0

Прошу прощения. У меня больше нет доступа к этим файлам или устройству, и я не могу вспомнить :( – German