2015-08-06 8 views
-1

Я пытаюсь скомпилировать пользовательский пакет, который сильно зависит от libcurl a pcap, на моей машине он отлично работает, но когда я пытаюсь скомпилировать его с помощью инструментальной цепочки, я получаю следующие ошибки:Ошибка libcurl (отрицательное значение) при компиляции

$ /home/kavastudios/sites/proC/SDK/OpenWrt-Toolchain-ar71xx-for-mips_34kc-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-uclibc-gcc airhog.c -o airhogfull -lpcap -lcurl 
mips-openwrt-linux-uclibc-gcc.bin: warning: environment variable 'STAGING_DIR' not defined 
In file included from /usr/include/curl/curl.h:35:0, 
       from airhog.c:16: 
/usr/include/curl/curlrules.h:142:3: error: size of array '__curl_rule_01__' is negative 
    __curl_rule_01__ 
^
/usr/include/curl/curlrules.h:152:3: error: size of array '__curl_rule_02__' is negative 
    __curl_rule_02__ 
^

и если я скомпилировать его удаление всего кода с помощью завитка (оставляя только PCAP) Я получаю эту ошибку:

cannot find -lpcap 
collect2: error: ld returned 1 exit status 

После прочтения многого поста, я думаю, мне нужно, чтобы пересечь скомпилировать PCAP и локон а затем ссылаться на них в момент попытки скомпилировать мой сценарий, но я полностью l ост о том, как это сделать.

Я действительно appreaciate, если вы можете дать мне подсказку о:

  1. установки ступенчатого дир правильно (я пытался с помощью PATH/STAGING_DIR переменных без успеха)

  2. как скомпилировать библиотеку curl/pcap (которая будет использоваться в момент компиляции моего скрипта и не заканчивается с теми библиотеками, которые заменяют те, которые использовались на моей машине)

  3. , какие флаги или команды я должен включать в момент Колорадо mpile мой скрипт.

Я использую Ubuntu 14.04

Спасибо.

ответ

0

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

(Заменить рычаг-NONE-Linux-gnueabi с набора инструментов)

Крест компиляции Libpcap

1) Сначала настройте Libpcap, как показано ниже

./configure --prefix=<install/path> --host=arm-none-linux-gnueabi --with-pcap=linux 

2) Затем скомпилировать

make 

3) Наконец установить

make install 

Крест компиляции Libcurl

1) Настройка

./configure --prefix=<install/path> --host=arm-none-linux-gnueabi 

Затем выполните шаги 2 & 3 из Libpcap

Если вам нужны дополнительные функции, в них вы должны перекрестная компиляция этих зависимостей тоже.

 Смежные вопросы

  • Нет связанных вопросов^_^