这下必须记录一下了。
这东西实在太烦了,搞了好久。
两个错误很烦 Cannot connect creator comm socket 和 Circular all <- first dependency dropped.
尝试过很多方法,一下方法可行。别的也许可行,本人没搞定。。
1. opencv 安装
参考http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/
非常完整,应该没有失败的可能。
2. qt 安装
参考:http://blog.csdn.net/berryreload/article/details/7259372 缩略如下:
step 1: 参考Ubuntu下安装Qt环境及Qt Creator开发工具
在Terminal中输入:sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
◆qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator(貌似在Ubuntu 11版本中没有自动安装)
◆qt4-doc 这个是帮助文档
◆qt4-qtconfig Qt的配置工具,这个装好默认好
◆qt4-demos 官方的一些Demo
◆qt4-designer 可视化窗体设置工具
以上内容136MB,不大嘛,但是网络安装需要1个多小时~~~
step2:
按照上文,安装后,没有安装Qt Creator嘛
在Ubuntu 图形桌面上点击左侧的Ubuntu Software Center,搜索Qt ,选择Qt Creator,22.8MB,很快就安装上去了。
(如果没有step1,直接使用Ubuntu Software Center安装Qt Creator,会提示需要先安装C++编译器)
现在,
可以在terminal命令行执行命令 qtcreator启动Qt Creator了
3. opencv 测试程序:
建立一个控制台程序,千万不要取名为first,否则会产生循环依赖问题,貌似qt自己的程序有一个first,你再建一个first就粗事了,报错 -1: error: Circular all <- first dependency dropped.
在.pro里面增加
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv \
/usr/local/include/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so
#include <QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <stdio.h>
using namespace cv;
int main(int argc, char *argv[])
{
// QCoreApplication a(argc, argv);
namedWindow( "src", WINDOW_AUTOSIZE );
Mat src1 = imread( "lena.jpg" );
while(1)
{
printf("hi");
imshow( "src", src1 );
char c = waitKey(30);
if( 27==c )
return 0;
}
// return a.exec();
}
将lena.jpg 放到生成的文件目录中。
前面都很顺利。这里可能出现问题:表示形式各不相同。
有Cannot connect creator comm socket /tmp/qt_temp /stub-socke
也有之出现终端却没有输出的。
搞了很久。最后不小心成功了。
直接上正确答案: tools(找不到别着急,看下文)- options - general - terminal 里面 换成 /usr/bin/xterm -e
用ubuntu的可能找不到 tools。 ubuntu 用的是全局工具栏。也就是说,你把焦点放到你的qt creator 。然后鼠标放到屏幕最上方,这时候出现的工具栏就是属于qt creator 的!!!
万一还出错,考虑是否没有安装xterm。我的已经安装,故没有出现
配置这东西,说穿了不值一提,但是各种错误的时候真是纠结。