Skip to content

交叉编译失败怎么办, 求教程 #82

@huhu415

Description

@huhu415

config.mk是这样的

#### Choose/Add your modules here ####
PLUGIN_MODULES := \
	packet_plugin_printer \
	packet_plugin_rjv3

# Linux
#PLUGIN_MODULES += if_impl_sockraw

# macOS / BSD
# PLUGIN_MODULES += if_impl_bpf

# Other OS
 PLUGIN_MODULES += if_impl_libpcap

# This implementation is not included in the code.
# If you need it, add it yourselves.
# PLUGIN_MODULES += ifaddrs

ENABLE_DEBUG  := false
ENABLE_ICONV  := true
ENABLE_GBCONV := false
STATIC_BUILD  := false

# If your platform has iconv_* integrated into libc, change to false
# Affects dynamic linking
LIBICONV_STANDALONE := false

CUSTOM_CFLAGS :=
CUSTOM_LDFLAGS := -I/home/arthur/libpcap-1.10.4
CUSTOM_LIBS := /home/arthur/libpcap-1.10.4/libpcap.a
CC := mipsel-openwrt-linux-gcc

我make 命令后是这样的.

root@zzyanCentos2222:/home/arthur/minieap# make
mipsel-openwrt-linux-gcc  -Ipacket_plugin/printer/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/printer/packet_plugin_printer.c -c -o packet_plugin/printer/packet_plugin_printer.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/packet_plugin_rjv3.c -c -o packet_plugin/rjv3/packet_plugin_rjv3.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/packet_plugin_rjv3_priv.c -c -o packet_plugin/rjv3/packet_plugin_rjv3_priv.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/packet_plugin_rjv3_keepalive.c -c -o packet_plugin/rjv3/packet_plugin_rjv3_keepalive.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/packet_plugin_rjv3_prop.c -c -o packet_plugin/rjv3/packet_plugin_rjv3_prop.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjencode.c -c -o packet_plugin/rjv3/rjv3_hashes/rjencode.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjtiger.c -c -o packet_plugin/rjv3/rjv3_hashes/rjtiger.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjwhirlpool.c -c -o packet_plugin/rjv3/rjv3_hashes/rjwhirlpool.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/byte_order.c -c -o packet_plugin/rjv3/rjv3_hashes/byte_order.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjcrc16.c -c -o packet_plugin/rjv3/rjv3_hashes/rjcrc16.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjripemd128.c -c -o packet_plugin/rjv3/rjv3_hashes/rjripemd128.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjsha1.c -c -o packet_plugin/rjv3/rjv3_hashes/rjsha1.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjtiger_sbox.c -c -o packet_plugin/rjv3/rjv3_hashes/rjtiger_sbox.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjwhirlpool_sbox.c -c -o packet_plugin/rjv3/rjv3_hashes/rjwhirlpool_sbox.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/rjmd5.c -c -o packet_plugin/rjv3/rjv3_hashes/rjmd5.o
mipsel-openwrt-linux-gcc -Ipacket_plugin/rjv3/rjv3_hashes -Ipacket_plugin/rjv3/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  packet_plugin/rjv3/rjv3_hashes/checkV4.c -c -o packet_plugin/rjv3/rjv3_hashes/checkV4.o
mipsel-openwrt-linux-gcc  -Iif_impl/libpcap/ -Iinclude   -Wall -Wpedantic -D_GNU_SOURCE -DENABLE_ICONV  if_impl/libpcap/if_impl_libpcap.c -c -o if_impl/libpcap/if_impl_libpcap.o
if_impl/libpcap/if_impl_libpcap.c:10:18: fatal error: pcap.h: No such file or directory
compilation terminated.
/home/arthur/minieap/append.mk:22: recipe for target 'if_impl/libpcap/if_impl_libpcap.o' failed
make: *** [if_impl/libpcap/if_impl_libpcap.o] Error 1

我知道的是交叉编译要用openwrt的gcc编译器编译libpcap, 用./configure --host=mipsel-openwrt-linux --with-pcap=linux, 然后make,这样libpcap.a就编译好了, 然后就是minieap的可执行文件, 这个是怎么链接的啊, 什么静态链接,动态链接, 然后各种我就不懂, 我应该看什么书去了解啊, 还有我想要学习这个代码应该从哪里开始学啊.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions