编译时出现libcurl错误(负值)
我正在尝试编译一个很大程度上依赖于pcap的自定义包,在我的机器上它工作得很好,但是当我尝试使用工具链编译它时,我得到以下错误:编译时出现libcurl错误(负值),c,cross-compiling,libcurl,libpcap,openwrt,C,Cross Compiling,Libcurl,Libpcap,Openwrt,我正在尝试编译一个很大程度上依赖于pcap的自定义包,在我的机器上它工作得很好,但是当我尝试使用工具链编译它时,我得到以下错误: $ /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
$ /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__
^
如果我使用curl(只留下pcap)编译它并删除所有代码,我会得到以下错误:
cannot find -lpcap
collect2: error: ld returned 1 exit status
在阅读了很多文章之后,我想我需要交叉编译pcap和curl,然后在尝试编译脚本时引用它们,但我完全不知道如何做
如果您能给我一个关于以下方面的线索,我将非常感激:
谢谢。我不知道你的脚本做了什么,但我可以回答你的第二个问题 (用您的工具链替换arm none linux gnueabi) 交叉编译libpcap 1) 首先配置libpcap,如下所示
./configure --prefix=<install/path> --host=arm-none-linux-gnueabi --with-pcap=linux
3) 最后安装它
make install
交叉编译libcurl
1) 配置
./configure --prefix=<install/path> --host=arm-none-linux-gnueabi
/configure--prefix=--host=arm none linux gnueabi
然后执行libpcap的步骤2和3
如果您需要这些特性中的其他特性,那么您也必须交叉编译这些依赖项
./configure --prefix=<install/path> --host=arm-none-linux-gnueabi