【问题标题】:OpenCV, eclipse compile problemOpenCV,eclipse编译问题
【发布时间】:2010-09-17 23:37:34
【问题描述】:

我有一个编译问题,我无法在 c++ 中找出 OpenCV2.1。

这是我正在尝试编译的简单测试代码:

#include <iostream>
#include "cv.h"

using namespace std;

int main() {
    cout << "Hello World" << endl; // prints !!!Hello World!!!
    cv::Mat mtx;
    return 0;
}

我有一个未定义引用的编译错误,如下所示

**** Build of configuration Debug for project CJMVideo ****

**** Internal Builder is used for build               ****
g++ -IC:\OpenCV2.1\include\opencv -IC:\Program Files\Point Grey Research\FlyCapture2\include -O0 -g3 -Wall -c -fmessage-length=0 -osrc\CJMVideo.o ..\src\CJMVideo.cpp
g++ -LC:\OpenCV2.1\lib -LC:\Program Files\Point Grey Research\FlyCapture2\lib64 -Xlinker --enable-auto-import -oCJMVideo.exe src\CJMVideo.o -lcxcore210 -lcv210 -lhighgui210 -lml210 -lFlyCapture2
src\CJMVideo.o:C:/OpenCV2.1/include/opencv/cxmat.hpp:378: undefined reference to `cv::fastFree(void*)'
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Time consumed: 1438  ms.

错误是C:/OpenCV2.1/include/opencv/cxmat.hpp:378: undefined reference to `cv::fastFree(void*)'

我相信我已经从上面的命令正确编译了所有的库......有什么问题?

谢谢

【问题讨论】:

    标签: c++ opencv mingw eclipse-cdt


    【解决方案1】:

    尽管消息表明它没有在 OpenCV 库中找到该符号,但我必须指出,从上面粘贴的命令行中,您似乎正在尝试将您的应用程序与 64 位编译库链接,如所示-LC:\Program Files\Point Grey Research\FlyCapture2\lib64。这意味着您必须将 OpenCV 也编译为 64 位,或者将两者都编译为 32 位。

    您可能缺少一个库。在 Windows 上,我的 OpenCV 项目通常会添加 cv210.lib cvaux210.lib cxcore210.lib cxts210.lib highgui210.lib,但我大部分时间都使用 Visual Studio 2005。

    【讨论】:

      【解决方案2】:

      当 OpenCV 库使用英特尔 TBB 并行库构建时,我在链接 cv::fastfree 时遇到问题,在没有 TBB 的情况下构建工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-28
        • 2016-08-31
        相关资源
        最近更新 更多