Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    [同济课堂问题] 在交叉编译过程中引用了opencv库报错

    D1系列-RISC-V
    4
    10
    421
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Sophus LV 3 last edited by

      我在项目中使用了opencv,使用交叉编译工具进行编译时,链接了opencv的lib,报错如下:

      attempted static link of dynamic object `/usr/local/lib/libopencv_highgui.so.4.5.4'

      根据提示我尝试将tool chain 的-static标志去掉,报错如下:
      usr/local/lib/libopencv_highgui.so.4.5.4: error adding symbols: file in wrong format

      我开启了cmake的DEBUG模式,这是我报错前最后连接的g++ 指令

      /home/david/Downloads/riscv64-linux-x86_64-20210512/bin/riscv64-unknown-linux-gnu-g++ --sysroot=/home/david/Downloads/riscv64-linux-x86_64-20210512/sysroot -march=rv64gcvxtheadc -mabi=lp64d -mtune=c906 -DRVV_SPEC_0_7 -D__riscv_zfh=1 -static -frtti -O2 -g -DNDEBUG -rdynamic CMakeFiles/main.dir/src/main.cpp.o CMakeFiles/main.dir/src/UltraFace.cpp.o -o main -Wl,-rpath,/usr/local/lib ncnn_build/src/libncnn.a /usr/local/lib/libopencv_highgui.so.4.5.4 /usr/local/lib/libopencv_ml.so.4.5.4 /usr/local/lib/libopencv_objdetect.so.4.5.4 /usr/local/lib/libopencv_photo.so.4.5.4 /usr/local/lib/libopencv_stitching.so.4.5.4 /usr/local/lib/libopencv_video.so.4.5.4 /usr/local/lib/libopencv_videoio.so.4.5.4 -lpthread /usr/local/lib/libopencv_imgcodecs.so.4.5.4 /usr/local/lib/libopencv_calib3d.so.4.5.4 /usr/local/lib/libopencv_dnn.so.4.5.4 /usr/local/lib/libopencv_features2d.so.4.5.4 /usr/local/lib/libopencv_flann.so.4.5.4 /usr/local/lib/libopencv_imgproc.so.4.5.4 /usr/local/lib/libopencv_core.so.4.5.4

      感觉是一个比较简单的问题,但是我查阅了文档没有得到合适的帮助,如果能得到帮助将感激不尽!

      1 Reply Last reply Reply Quote Share 0
      • xiaowenge
        DOT小文哥 LV 8 last edited by

        这个opencv的库哪里来的?

        S 2 Replies Last reply Reply Quote Share 0
        • tigger
          tigger LV 7 last edited by

          error adding symbols: file in wrong format

          看起来使用了不同指令集的gcc

          S 1 Reply Last reply Reply Quote Share 0
          • S
            Sophus LV 3 @xiaowenge last edited by

            @xiaowenge 这个opencv是我从github下载的,然后再ubuntu14上进行编译得到的。

            1 Reply Last reply Reply Quote Share 0
            • S
              Sophus LV 3 @tigger last edited by

              @tigger 是说opencv也需要使用riscv的编译器进行交叉编译才可以是嘛

              1 Reply Last reply Reply Quote Share 0
              • S
                Sophus LV 3 @xiaowenge last edited by

                @xiaowenge 我看了楼下的评论好像明白了,似乎opencv也需要交叉编译才可以链接,我下午试一下

                xiaowenge 1 Reply Last reply Reply Quote Share 0
                • xiaowenge
                  DOT小文哥 LV 8 @Sophus last edited by

                  @sophus 是的,大家都要同宗同源才行

                  S 1 Reply Last reply Reply Quote Share 0
                  • S
                    Sophus LV 3 @xiaowenge last edited by

                    @xiaowenge 好的,感激涕零~!

                    1 Reply Last reply Reply Quote Share 0
                    • M
                      memory LV 7 last edited by whycan

                      搜索关键词 buildroot 会发现新知识。

                      顺便看下韦东山老师这个链接:

                      【极简操作】使用builroot 2021一键编译生成D1 nezha 系统镜像!
                      https://bbs.aw-ol.com/topic/171

                      S 1 Reply Last reply Reply Quote Share 0
                      • S
                        Sophus LV 3 @memory last edited by

                        @memory 好巧,我正在尝试交叉编译opencv,刚刚我看了下发现buildroot竟然支持一键操作,太棒了

                        1 Reply Last reply Reply Quote Share 0
                        • 1 / 1
                        • First post
                          Last post

                        Copyright © 2022 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                        行为准则 | 用户协议 | 隐私权政策