【问题标题】:Undefined References to OpenCV对 OpenCV 的未定义引用
【发布时间】:2012-06-23 10:46:50
【问题描述】:

我正在运行 32 位 Windows 7 Enterprise 和 CodeBlocks 10.05。

我跟随 this tutorial 设置 OpenCV 2.2 以使用 CodeBlocks。

任何使用 C CodeBlocks API 的程序都可以正常工作 - 它们可以正常编译、链接和运行。 但是,当我尝试使用 C++ OpenCV 函数和对象时,会生成 .o 文件,但会出现链接错误,例如:

`cv::cvtColor(cv::Mat const&, cv::Mat&, int, int)'的未定义引用

经过一番谷歌搜索,我发现这是因为我的搜索目录中没有包含足够的库。但是,我不知道要包含哪些库。

在我的 OpenCV 文件夹中搜索后,我在 3rdParty/lib 中找到了一些 .a 文件并添加了它们。但我的问题仍然存在。

有人知道我必须包含哪些库才能使我的程序正常工作吗?

如果您需要更多信息,请告诉我,我会给您。

【问题讨论】:

    标签: c++ opencv libraries undefined-reference


    【解决方案1】:

    我遇到了同样的问题并尝试了上面的方法,但我已经下载了预编译的 OpenCV。

    所以对我有用的是包含以下标题。

    包括 opencv2\imgproc\imgproc.hpp

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您需要包含libopencv_imgproc 库。

      【讨论】:

      • 我刚刚在我的 OpenCV 文件夹中搜索了它,但我找不到它。你知道它的位置吗?
      • @eboix 你编译源码了吗?
      • 抱歉,我的回复延迟了。我没有编译源代码。我刚刚下载了已经编译好的OpenCV2.2。
      • 其实我好像包含了opencv_imgproc220d.libopencv_imgproc220.lib。我不确定这些是否是您所说的libopencv_imgproc
      • @eboix 是的,可以这样。我在linux下使用opencv,所以库编译后是libopencv_imgproc.alibopencv_imgproc.so
      【解决方案3】:

      如果你使用的是 eclipse

      当然,我假设您已经使用 CMake 编译了源文件夹。如果您还没有完成,请参考此视频

      https://www.youtube.com/watch?v=kVyVEHK4qfQ

      在前 8 分钟内,您将了解所有配置。

      【讨论】:

        猜你喜欢
        • 2016-04-02
        • 2014-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-26
        相关资源
        最近更新 更多