首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为mips构建时未定义

为mips构建时未定义
EN

Stack Overflow用户
提问于 2019-08-29 04:23:38
回答 1查看 160关注 0票数 0

正在尝试为mips交叉编译我的go应用程序。

代码语言:javascript
复制
GOOS=linux GOARCH=mipsle go build ./

但是,我遇到了以下问题:

代码语言:javascript
复制
# 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构建它?

EN

回答 1

Stack Overflow用户

发布于 2020-12-16 18:44:59

问题是gopacket不是一个纯粹的go项目,它依赖于CGO来运行。通过传递env启用CGO可能会有所帮助:

代码语言:javascript
复制
CGO_ENABLED=1 GOOS=linux GOARCH=mipsle go build ./

同时,你需要准备一个mipsle版本的libpcap。

交叉编译工具链下载:mipsle-linux-gcc

  • compile

代码语言:javascript
复制
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.alibpcap.so.1.8.1

  1. 使用libpcap linked

编译项目

代码语言:javascript
复制
CGO_ENABLED=1 CC=mipsle-linux-gcc GOARCH=mipsle GOOS=linux CGO_LDFLAGS="-L./libpcap-1.8.1" go build ./
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57699575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档