【问题标题】:Symbols not found while building OpenCV's Hello World构建 OpenCV 的 Hello World 时找不到符号
【发布时间】:2011-12-03 23:08:36
【问题描述】:

我刚刚通过 MacPorts 安装了 openCV, 我还将库文件夹添加到编译器的设置中。 但是当尝试构建以下代码时,

#include <cv.h>
#include <highgui.h>

int main(int argc, char **argv) {

    cvNamedWindow("My Window", 1);
    IplImage *img = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1);
    CvFont font;
    double hScale = 1.0;
    double vScale = 1.0;
    int lineWidth = 1;
    cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC, hScale, vScale,
            0, lineWidth);
    cvPutText(img, "Hello World!", cvPoint(200, 400), &font,
            cvScalar(255, 255, 0));
    cvShowImage("My Window", img);
    cvWaitKey();

    return 0;
}

我在构建时收到一条消息,指出未找到所有符号。

我做错了什么?

**** Build of configuration Release for project OpenCv ****

make all 
Building file: ../main.cpp
Invoking: GCC C++ Compiler
g++ -I/opt/local/include/opencv -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
Finished building: ../main.cpp

Building target: OpenCv
Invoking: MacOS X C++ Linker
g++  -o "OpenCv"  ./main.o   
Undefined symbols:
  "_cvNamedWindow", referenced from:
      _main in main.o
  "_cvCreateImage", referenced from:
      _main in main.o
  "_cvShowImage", referenced from:
      _main in main.o
  "_cvPutText", referenced from:
      _main in main.o
  "_cvWaitKey", referenced from:
      _main in main.o
  "_cvInitFont", referenced from:
      _main in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [OpenCv] Error 1

**** Build Finished ****

【问题讨论】:

    标签: c++ eclipse macos opencv


    【解决方案1】:

    编译和链接 OpenCV 项目有两个单独的步骤。首先是添加标题搜索路径以进行编译,您已经完成了。

    您还必须将库添加到项目中才能链接。就是这个部分:

    • 选择 Project -> New Group 并创建一个名为 OpenCV frameworks 的组
    • 选择新组后,选择 Project -> Add to Project...
    • 按“/”键获得转到文件夹提示
    • 输入 /usr/local/lib(如果使用 MacPorts,则输入 /opt/local/lib)
    • 选择 libopencv_core.dylib、libopencv_highgui.dylib 以及您的项目所需的任何其他库。
    • 点击添加
    • 取消选中复制项目...并单击添加

    这来自 OpenCV wiki 的 Mac OS X OpenCV Port 部分。

    【讨论】:

      猜你喜欢
      • 2018-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 2011-12-19
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多