OpenCV 在 Code::Blocks 中的代码完成



你能帮我解决以下问题吗?

我在 64 位 Debian Linux 上运行 Code::Blocks 13.12。我是这个IDE的新用户。当我在 Code::Blocks 中创建新的 OpenCV 项目并设置正确的编译器标志和链接器标志时,即通过放置 ...

  • "pkg-config opencv --cflags"到"编译器">>"编译器设置"选项卡>"其他选项"选项卡中的"pkg-config opencv --cflags"中的设置
  • "pkg-config opencv --libs"到"编译器">"链接器设置"选项卡>>"其他链接器选项
  • "/usr/include/,/usr/include/opencv/,/
  • usr/include/opencv2/ 路径进入"设置">"编译器">"搜索目录"选项卡>"编译器"选项卡,

项目的编译很好。唯一不起作用的是OpenCV函数的代码完成。

我在main.cpp中有以下代码。当我在imread功能上单击鼠标右键并选择查找声明:"imread"菜单选项时,会引发带有"未找到:imread"消息的警报。但是在性病cerr上做同样的事情可以按预期工作。

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main( int argc, char * argv[] ) {
  Mat img = imread( "lena.jpg", CV_LOAD_IMAGE_COLOR );
  if ( img.empty() ) {
    cerr << "Unable to load the Lena image!" << endl;
    return -1;
  }
  namedWindow( "lena", CV_WINDOW_AUTOSIZE );
  imshow( "lena", img );
  waitKey( 0 );
  return 0;
}

当我选择左侧垂直栏上的符号选项卡时,我可以看到那里的 cv 命名空间,但它似乎是空的。没有子项,不能将其扩展为 std 命名空间。

我做错了什么吗?我应该如何说服Code::Blocks也解析OpenCV的标头?只是重新启动/重新打开 IDE/项目不起作用。:-)

非常感谢您的回复。

在 Ubuntu 12.04 上使用 Code::Blocks 10.05 我正在这样做,你可以试试这个。

转到设置>编译器和调试器设置

  • 在"搜索目录"选项卡中,单击"编译器"子选项卡,添加OpenCV包含路径,

    通常,/usr/local/include

  • 单击链接器子选项卡并添加 opencv bin 目录

    通常/usr/local/bin

  • 现在转到链接器设置选项卡,然后在其他链接器选项上添加链接库

    喜欢

    -lopencv_calib3d-lopencv_contrib-lopencv_core-lopencv_features2d-lopencv_flann-lopencv_highgui-lopencv_imgproc-lopencv_legacy-lopencv_ml-lopencv_nonfree-lopencv_objdetect-lopencv_photo-lopencv_stitching-lopencv_superres-lopencv_ts-lopencv_video-lopencv_videostab

相关内容

  • 没有找到相关文章

最新更新