我尝试从 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/