u014512247
madao14751
采纳率0%
2017-11-14 10:16

arm-linux交叉编译的问题

5

终端输入
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条回答

  • amz_mall amz_mall 4年前

    如果你把头文件和库都放到工具链下面了就需要用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

    点赞 评论 复制链接分享
  • u014512247 madao14751 4年前

    我试过吧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

    点赞 评论 复制链接分享

相关推荐