正在尝试为mips交叉编译我的go应用程序。
GOOS=linux GOARCH=mipsle go build ./但是,我遇到了以下问题:
# github.com/google/gopacket/afpacket
/root/go/src/github.com/google/gopacket/afpacket/options.go:176:19: undefined: pageSize
/root/go/src/github.com/google/gopacket/afpacket/options.go:177:85: undefined: pageSize
# github.com/google/gopacket/pcap
/root/go/src/github.com/google/gopacket/pcap/pcap.go:30:22: undefined: pcapErrorNotActivated
/root/go/src/github.com/google/gopacket/pcap/pcap.go:52:17: undefined: pcapTPtr
/root/go/src/github.com/google/gopacket/pcap/pcap.go:64:10: undefined: pcapPkthdr这里的实际问题是什么?在gopacket中是否有一些架构限制,使我无法为mips构建它?
发布于 2020-12-16 18:44:59
问题是gopacket不是一个纯粹的go项目,它依赖于CGO来运行。通过传递env启用CGO可能会有所帮助:
CGO_ENABLED=1 GOOS=linux GOARCH=mipsle go build ./同时,你需要准备一个mipsle版本的libpcap。
交叉编译工具链下载:mipsle-linux-gcc
wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz
tar -zxvf libpcap-1.8.1.tar.gz
cd libpcap-1.8.1
./configure --host=mipsle-linux --with-pcap=linux
make #if error occured, install dependency following the error message.编译之后,您将发现构建了libpcap.a和libpcap.so.1.8.1。
编译项目
CGO_ENABLED=1 CC=mipsle-linux-gcc GOARCH=mipsle GOOS=linux CGO_LDFLAGS="-L./libpcap-1.8.1" go build ./https://stackoverflow.com/questions/57699575
复制相似问题