您可以帮我解决以下问题吗?
我在64位Debian Linux上运行 Code :: Blocks 13.12 。我是这个IDE的新用户。当我在Code :: Blocks中创建新的 OpenCV 项目并设置正确的编译器标志和链接器标志时,即通过放置......
项目的编译很好。唯一不起作用的是OpenCV函数的代码完成。
我在 main.cpp 中有以下代码。当我在imread
功能上单击鼠标右键并选择查找声明:'imread'菜单选项时,会出现一条带有 Not found:imread 消息的警报。但是在STD的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;
}
当我选择左侧垂直条上的 Symbols 标签时,我可以在那里看到 cv 名称空间,但它似乎是空的。没有子项,也不能将其扩展为 std 名称空间。
我做错了吗?我应该如何说服Code :: Blocks来解析OpenCV的头文件?只是重新启动/重新打开IDE /项目不起作用。 : - )
非常感谢您的回复。
答案 0 :(得分:0)
在Ubuntu 12.04上使用Code :: Blocks 10.05我这样做,你可以试试这个。
转到设置 - &gt;编译器和调试器设置
在搜索目录标签中,点击编译器子标签添加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