arm-linux交叉编译的问题 5C

终端输入
arm-linux-gcc imgprocess.cpp -o imgprocess pkg-config --cflags --libs opencv -lrt -lpthread -lm -ldl
错误:
/usr/local/lib/libopencv
_calib3d.so: could not read symbols: File in wrong format
这个应该是pc opencv的库,我的arm opencv的库的目录在下面的路径中
/opt/FriendlyARM/toolschain/4.5.1/lib中
我在bash.bashrc中设置过了路径
输入echo $LD_LIBRARY_PATH
结果是/opt/FriendlyARM/toolschain/4.5.1/lib
但是运行之后还是那个问题怎么解决

2个回答

我试过吧pkgconfig文件夹下的opencv.pc中的路径改为_/opt/FriendlyARM/toolschain/4.5.1/lib_
结果可以编译了,产生文件了,但是文件下载到开发板之后有出现了如下问题libopencv__calib3d.so: cannot open shared object file: No such file or directory

自动去在开发板上面和我pc路径相同的文件夹里面寻找库了,但是我开发板的库就在根目录的/lib/里面
我在profile里面设置了LD_LIBRARY_PATH为/lib/
echo $_LD_LIBRARY_PATH
结果为/lib/但是运行还是前面的问题libopencv__calib3d.so: cannot open shared object file

如果你把头文件和库都放到工具链下面了就需要用pkg-config了,找到要需要的库
arm-linux-gcc imgprocess.cpp -o imgprocess -L/opt/FriendlyARM/toolschain/4.5.1/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lrt -lpthread -lm -ldl

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问