与Mingw创建OpenCV 3.1的共享版本时对cv :: redirectError的未定义引用

平底锅

程序和版本:Windows 10,带有gcc 6.1.0的Mingw32,Cmake 3.6.1,(代码:: blocks 16.01)

首先,我要提到的是,构建静态构建确实可以很好地工作,仅构建共享构建是行不通的,对于我的特定问题,我也找不到解决方法。

我尝试使用上述程序作为共享版本来构建OpenCV3.1。使用cmake的默认设置,出现以下错误:

[ 34%] Linking CXX executable ..\..\bin\opencv_test_core.exe
../../lib/libopencv_ts310.a(ts.cpp.obj):ts.cpp:(.text$_ZN6cvtest2TS4initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x119): undefined reference to `cv::redirectError(int (*)(int, char const*, char const*, char const*, int, void*), void*, void**)'
collect2.exe: error: ld returned 1 exit status
modules\core\CMakeFiles\opencv_test_core.dir\build.make:885: recipe for target 'bin/opencv_test_core.exe' failed
mingw32-make[2]: *** [bin/opencv_test_core.exe] Error 1
CMakeFiles\Makefile2:1713: recipe for target 'modules/core/CMakeFiles/opencv_test_core.dir/all' failed
mingw32-make[1]: *** [modules/core/CMakeFiles/opencv_test_core.dir/all] Error 2
Makefile:159: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

在我的情况下,默认设置(其中包括):BUILD_TBB =关闭,BUILD_WITH_DYNAMIC_IPP =关闭,BUILD_opencv_world =关闭,ENALBE_OMIT_FRAME_POINTER =开启,ENABLE_SSE / SSE2 / SSE3 =开启,WITH_IPP和WITH_IPP_A =关闭(这似乎是一个问题在某些情况下被激活)。

现在的问题是:该错误是什么意思以及如何解决?

显然缺少某些功能:undefined reference to `cv::redirectError(int (*)(int, char const*, char const*, char const*, int, void*), void*, void**)搜索源代码会在下面给出此函数的一些定义

  1. system.cpp:线662: redirectError( CvErrorCallback errCallback, void* userdata, void** prevUserdata)
  2. utility.hpp:第174行: CV_EXPORTS ErrorCallback redirectError( ErrorCallback errCallback, void* userdata=0, void** prevUserdata=0);

但是未定义的引用需要一些int char指针作为参数,但是我在任何源文件中都找不到这样的函数。

当停用BUILD_EXAMPLES / PERF_TESTS / TESTS时(如在其他地方建议的那样),这不能解决问题,但稍后会出现相同的问题:

[ 95%] Linking CXX shared library ..\..\bin\libopencv_calib3d310.dll
CMakeFiles\opencv_calib3d.dir/objects.a(calibinit.cpp.obj):calibinit.cpp:(.text$_ZN2cv15findCirclesGridERKNS_11_InputArrayENS_5Size_IiEERKNS_12_OutputArrayEiRKNS_3PtrINS_9Feature2DEEE+0x426): undefined reference to `cv::redirectError(int (*)(int, char const*, char const*, char const*, int, void*), void*, void**)'
CMakeFiles\opencv_calib3d.dir/objects.a(calibinit.cpp.obj):calibinit.cpp:(.text$_ZN2cv15findCirclesGridERKNS_11_InputArrayENS_5Size_IiEERKNS_12_OutputArrayEiRKNS_3PtrINS_9Feature2DEEE+0x44d): undefined reference to `cv::redirectError(int (*)(int, char const*, char const*, char const*, int, void*), void*, void**)'
collect2.exe: error: ld returned 1 exit status
modules\calib3d\CMakeFiles\opencv_calib3d.dir\build.make:787: recipe for target 'bin/libopencv_calib3d310.dll' failed
mingw32-make[2]: *** [bin/libopencv_calib3d310.dll] Error 1
CMakeFiles\Makefile2:3634: recipe for target 'modules/calib3d/CMakeFiles/opencv_calib3d.dir/all' failed
mingw32-make[1]: *** [modules/calib3d/CMakeFiles/opencv_calib3d.dir/all] Error 2
Makefile:159: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

我没有找到任何错误报告或其他有关此错误的信息。

cgwic

有同样的问题。我已经更换解决了它cv::redirectErrorcvRedirectError在ts.cpp像从前那样这个补丁

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与Mingw创建OpenCV 3.1的共享版本时对cv :: redirectError的未定义引用

来自分类Dev

OpenCV:使用cmake时对`cv :: imread的未定义引用

来自分类Dev

OpenCV 未定义的引用

来自分类Dev

使用mingw编译websocketpp示例代码时未定义对`std :: errc :: operation_canceled`的引用

来自分类Dev

MinGW / CMake对ZLib的未定义引用

来自分类Dev

对WinMain的未定义引用(C ++ Mingw)

来自分类Dev

在Windows上构建Maliit框架时未定义对“ DummyInputMethod3 :: staticMetaObject”的引用

来自分类Dev

未定义对“ __divdi3”的引用

来自分类Dev

当我用 Makefile 编译时对 opencv 函数的未定义引用

来自分类Dev

未定义对某些opencv函数的引用

来自分类Dev

OpenCV:对imread()的未定义引用

来自分类Dev

未定义引用'cv :: findHomography

来自分类Dev

对cv :: calcOpticalFlowPyrLK的未定义引用

来自分类Dev

未定义引用cv :: Tracker :: update

来自分类Dev

对`cv :: groupRectangles`的未定义引用

来自分类Dev

对共享库main的未定义引用

来自分类Dev

编译共享库时没有未定义的引用

来自分类Dev

创建对象时未定义参考

来自分类Dev

仅使用MinGW GCC的未定义引用

来自分类Dev

未定义对函数“ check”的引用(MinGW中的GCC编译)

来自分类Dev

SDL2未定义对MinGW几个功能的引用

来自分类Dev

从JSON数据创建$ scope属性时,如何避免“无法获取未定义或空引用的属性'X'”

来自分类Dev

glfw3编译未定义的引用

来自分类Dev

GLFW3-对XRR的未定义引用

来自分类Dev

Qt对3rdparty软件库的未定义引用

来自分类Dev

对“ParMETIS_V3_PartMeshKway”的未定义引用

来自分类Dev

由于未定义的引用而无法使OpenCV进行编译?

来自分类Dev

OpenCV未定义的引用(带有vector <KeyPoint>的FileStorage)

来自分类Dev

由于未定义的引用而无法使OpenCV进行编译?

Related 相关文章

  1. 1

    与Mingw创建OpenCV 3.1的共享版本时对cv :: redirectError的未定义引用

  2. 2

    OpenCV:使用cmake时对`cv :: imread的未定义引用

  3. 3

    OpenCV 未定义的引用

  4. 4

    使用mingw编译websocketpp示例代码时未定义对`std :: errc :: operation_canceled`的引用

  5. 5

    MinGW / CMake对ZLib的未定义引用

  6. 6

    对WinMain的未定义引用(C ++ Mingw)

  7. 7

    在Windows上构建Maliit框架时未定义对“ DummyInputMethod3 :: staticMetaObject”的引用

  8. 8

    未定义对“ __divdi3”的引用

  9. 9

    当我用 Makefile 编译时对 opencv 函数的未定义引用

  10. 10

    未定义对某些opencv函数的引用

  11. 11

    OpenCV:对imread()的未定义引用

  12. 12

    未定义引用'cv :: findHomography

  13. 13

    对cv :: calcOpticalFlowPyrLK的未定义引用

  14. 14

    未定义引用cv :: Tracker :: update

  15. 15

    对`cv :: groupRectangles`的未定义引用

  16. 16

    对共享库main的未定义引用

  17. 17

    编译共享库时没有未定义的引用

  18. 18

    创建对象时未定义参考

  19. 19

    仅使用MinGW GCC的未定义引用

  20. 20

    未定义对函数“ check”的引用(MinGW中的GCC编译)

  21. 21

    SDL2未定义对MinGW几个功能的引用

  22. 22

    从JSON数据创建$ scope属性时,如何避免“无法获取未定义或空引用的属性'X'”

  23. 23

    glfw3编译未定义的引用

  24. 24

    GLFW3-对XRR的未定义引用

  25. 25

    Qt对3rdparty软件库的未定义引用

  26. 26

    对“ParMETIS_V3_PartMeshKway”的未定义引用

  27. 27

    由于未定义的引用而无法使OpenCV进行编译?

  28. 28

    OpenCV未定义的引用(带有vector <KeyPoint>的FileStorage)

  29. 29

    由于未定义的引用而无法使OpenCV进行编译?

热门标签

归档