ubuntu使用qt第三方库未定义

ubuntu使用qt第三方库未定义,第1张

的问题

1. 运行ldd命令,查看运行程序所依赖的动态库是否都在系统中存在,如果不存在,就要安装相应的库文件

2. 通过在Qt应用程序和库之间添加链接,以及指定库搜索路径(library search path)来解决Qt程序无法识别第三方库的问题。

3. 将动态库放入/usr/lib/或/usr/local/lib/下面,然后运行ldconfig命令来重新生成动态链接库缓存。

4. 使用qt creator的options->build &run->qt version 来修改qt的搜索路径,因为qt有两个版本的库,所以可能会出现问题。的问题

1. 运行ldd命令,查看运行程序所依赖的动态库是否都在系统中存在,如果不存在,就要安装相应的库文件。

2. 通过在Qt应用程序和库之间添加链接,以及指定库搜索路径(library search path)来解决Qt程序无法识别第三方库的问题。

3. 将动态库放入/usr/lib/或/usr/local/lib/下面,然后运行ldconfig命令来重新生成动态链接库缓存。

4. 使用qt creator的options->build &run->qt version 来修改qt的搜索路径,因为qt有两个版本的库,所以可能会出现问题。

OpenCV 2.4.3同样适用,

1.安装必要的依赖包

这一步我略去了,因为原文中提到的ffmepg1我并不需要安装,并且我是从第一种方式转过来的,就没有安装这些包,不过还是列在下面:

sudo apt-get install build-essential libgtk2.0-dev libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

2.安装OpenCV

(1)下载OpenCV 2.4.3

(2) tar -xvf OpenCV-2.4.3.tar.bz2

(3)将其复制到 “ home/你的计算机名/”下;

(4)cd OpenCV-2.4.3

(5)mkdir release

(6)cd release

(7)

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_TBB=ON -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ..

如果没有cmake,apt-get install就行

(8) make

(9)sudo make install

3.添加库的路径

(1)sudo gedit /etc/ld.so.conf.d/opencv.conf

文件可能需要创建,添加下面内容并保存

/usr/local/lib

(2)sudo ldconfig

(3) sudo gedit /etc/environment

添加下面内容

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

这时,再回到OpenCV-2.4.3/sample/cpp下时,用第一种方式的测试方法,drawing.cpp文件就能正确编译,而且也可以通过生成的文件看到效果了。

2013.1.6更新:QT调用openCV库

QT的安装过程就略去了,注意需要QT设计器和QTcreator,前者我是下源码编译的,后者用软件中心装的。

配置QT, sudo gedit /usr/share/qt4/mkspecs/default/qmake.conf

在文件内添加了下面两句:

QMAKE_INCDIR = /usr/include/opencv

QMAKE_LIBS = -lcvaux -lcv -lcxcore -lhighgui -lml

实例程序,创建一个QT4 Console Application,代码如下:

#include <cv.h>

#include <highgui.h>

int main()

{

IplImage *img = 0

img = cvLoadImage("Lena.bmp",-1)//Lena.bmp在所建工程的目录下

cvNamedWindow("lena", 1)

cvShowImage("lena", img)

cvWaitKey(0)

return 0

}

关键的一步,在工程的.pro文件添加下面的内容:

INCLUDEPATH += /usr/include/opencv

LIBS += /usr/lib/libcv.so \

/usr/lib/libcvaux.so \

/usr/lib/libcxcore.so \

/usr/lib/libhighgui.so \

/usr/lib/libml.so

这时就能编译运行了。

如果编译安装了。应该是可以的

不用后面再加LIBS了。

还有pro中 QT+= webkit 试试。

如果不行,看看你生成的makefile.他是用的哪个版本的qmake。。

最后。linux的 lib 他的默认是找xxxx.so才是动态库。所以添加的lib的时候

LIB+= -LxxxxPath -lWebKit 小l后不写全


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11608050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存