arm - 交叉编译c++-文件: File format not recognized

标签 arm g++ protocol-buffers onnx

我尝试从 linux-ubuntu-vm 为 arm 处理器交叉编译 c++ 代码。

正常的编译工作没有错误。当我尝试以下命令时出现错误:

arm-linux-gnueabihf-g++ main.cpp onnx.proto3.pb.cc -o readonnx pkg-config --cflags --libs protobuf

-->/usr/local/lib/libprotobuf.so: file not recognized: 文件格式无法识别 collect2:错误:ld 返回了 1 个退出状态

如何为 Intel Cyclone V (Linux Angstrom) 编译我的代码?

文件/usr/local/lib/libprotobuf.so

--> /usr/local/lib/libprotobuf.so: libprotobuf.so.20.0.0 的符号链接(symbolic link)

最佳答案

我已经解决了这个问题。您必须为 arm 编译 protobuf 编译器。

sudo ./configure --prefix=/usr/local/lib_arm --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++

现在它工作正常。

谢谢

关于arm - 交叉编译c++-文件: File format not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57753778/

相关文章:

assembly - 如何正确执行 ADD/SUB 有符号或无符号整数?

ARM、MIPS、x86 的 Android os.arch 输出?

c++ - 修复关于 C/C++ 和寄存器访问的知识差距

c++ - Microsoft C++ 和 g++ 预处理器行为差异

c++ - 使用 clang++、-fvisibility=hidden、typeinfo 和 type-erasure

swagger - 如何从swagger grpc生成的代码中排除字段

Tensorflow 错误解析记录

c - 如何检查整个程序是否在ARM上烧录?

c++ - 在 g++ 中编译 Windows C++ 程序

serialization - 为什么不是谷歌 Protocol Buffer 的 lua 实现? lua 已经有更好的解决方案了吗?