QT 加载第三方库

转载 2012年03月23日 10:18:26
最近在 用 QtCreator 1.3.1的 时候 ,发现 不知道 从 那里 加载 第三方库 ,在 网上 收了 ,大多 说 的 是 改 Makefile文件 ,Makefile 文件 里面 一大堆 东西 看起来 很 麻烦 ,而且 一不小心改 错了 地方 ,会 导致 Makefile 崩溃 的 。其实 ,Qt Creator1.3.1用到的是qmake 来产生 Makefile 文件 。我们 可以 在我们到 项目 文件 (.pro)中添加我们 需要到 头文件 路径 和 库文件路径 、库文件 。

 

先看看qmake到 文档相关说明吧 。

Declaring Other Libraries

If you are using other libraries in your project in addition to those supplied with Qt, you need to specify them in your project file.

The paths that qmake searches for libraries and the specific libraries to link against can be added to the list of values in the LIBS variable. The paths to the libraries themselves can be given, or the familiar Unix-style notation for specifying libraries and paths can be used if preferred.

For example, the following lines show how a library can be specified:

 LIBS += -L/usr/local/lib -lmath

The paths containing header files can also be specified in a similar way using the INCLUDEPATH variable.

For example, it is possible to add several paths to be searched for header files:

 INCLUDEPATH = c:/msdev/include d:/stl/include

 

假设 我们的工程创建一个 project.pro 的 qmake 工程文件,例如:

# Input



SOURCES


 = main.cpp Dialog.cpp Emitter.cpp



HEADERS


 = Dialog.hpp Emitter.hpp



CONFIG


 += qt



TEMPLATE


 = app



TARGET


 = 



DEPENDPATH


 += .



INCLUDEPATH


 += .







我们为了 用boost_thread库,其中:



头文件 在:/usr/local/include/boost/thread.hpp   



库文件 在:/usr/local/lib/boost/libboost_thread.so 和 



                   /usr/local/lib/boost/libboost_thread.a 



则 可以 在 项目文件(project.pro)中把 他们(路径) 分别加入到 qmake的 变量 INCLUDEPATH LIBS


 中去



如 下:



INCLUDEPATH


 += /usr/local/include/boost






LIBS


 += -L/usr/local/lib/boost/  -lboost_thread






这样在用qmake生成到 Makefile文件中就有了:







####### Compiler, tools and options







CC            = gcc



CXX           = g++



DEFINES       = -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED



CFLAGS        = -m64 -pipe -g -Wall -W -D_REENTRANT $(DEFINES)



CXXFLAGS      = -m64 -pipe -g -Wall -W -D_REENTRANT $(DEFINES)



INCPATH       = -I/usr/local/Trolltech/Qt-4.6.2/mkspecs/linux-g++-64 -I. -I/usr/local/Trolltech/Qt-4.6.2/include/QtCore -I/usr/local/Trolltech/Qt-4.6.2/include/QtGui -I/usr/local/Trolltech/Qt-4.6.2/include -I. -I/usr/local/include/boost 






-I.



LINK          = g++



LFLAGS        = -m64 -Wl,-rpath,/usr/local/Trolltech/Qt-4.6.2/lib



LIBS          = $(SUBLIBS)  -L/usr/local/Trolltech/Qt-4.6.2/lib -L/usr/local/bin/boost 


-lboost_thread


 -lQtGui -L/usr/local/Trolltech/Qt-4.6.2/lib -L/usr/X11R6/lib64 -lQtCore -lpthread 



AR            = ar cqs



RANLIB        = 



QMAKE         = /usr/local/Trolltech/Qt-4.6.2/bin/qmake



TAR           = tar -cf



COMPRESS      = gzip -9f



COPY          = cp -f



SED           = sed



COPY_FILE     = $(COPY)



COPY_DIR      = $(COPY) -r



STRIP         = strip



INSTALL_FILE  = install -m 644 -p



####### Output directory

OBJECTS_DIR   = ./



。。。。。。







相关的boost_thread 库就加入 到项目 中去了,用 make产生 exe 就 没有一点问题 了

Qt Ceator 中加入 第三方 库 的 简便 方法

         最近在 用 QtCreator 1.3.1的 时候 ,发现 不知道 从 那里 加载 第三方库 ,在 网上 收了 ,大多 说 的 是 改 Makefile文件 ,Makefile 文件...
  • jtop0
  • jtop0
  • 2010年03月25日 22:13
  • 5433

QtCreator的中如何使用第三方依赖库

之前项目里使用其它的第三方库都是leader或同事给配置好的,从没操心这回事,真是惭愧,。今天同学给我发来一个工程,需用使用到Qt库和Qwt库,用QtCreator打开编译,提示找不到Qwt库里的头文...
  • e5Max
  • e5Max
  • 2013年08月08日 19:13
  • 16622

Qt技巧:加载第三方API

date:2017/04/24 14:42 开发环境:Qt 5.8.0 msvc2015 32bit + VS Community 2015 由于Qt不带有完整的USB API,因此在做通信时需要使用...
  • u014266675
  • u014266675
  • 2017年04月26日 17:21
  • 792

Qt-导入第三方库

Qt提供了显式和隐式导入第三方库方法,本文只介绍显示导入方法。   第三方提供的库文件包括ControlCAN.h,ControlCAN.dll和ControlCAN.lib。将ControlCAN....
  • zhang1988pan
  • zhang1988pan
  • 2017年04月19日 14:28
  • 711

python 加载第三方库

在python编程有时需要用到第三方库,如果是windows需要在第三方库的官网下载exe文件安装,如果是linux系统,需要从官网下载tar.gz或zip包。 以xlrd库...
  • marujunyy
  • marujunyy
  • 2013年05月29日 14:18
  • 4127

Qt Creator 添加第三方库

Qt使用项目文件(.pro)来描述项目。qmake通过项目文件生成包含构建项目所需的Makefiles文件。...
  • Marryvivien
  • Marryvivien
  • 2014年11月21日 10:38
  • 1259

Qt配置pro文件以及第三方库

qmake 变量 含义 例子 QT 加入库模块 Qt += core TARGET 指定程序文件名,如果不指定,自动设置为项目名 TARGET = filename ...
  • Y673582465
  • Y673582465
  • 2017年05月27日 10:51
  • 1035

第三方库操作excel

最近这个项目希望将一些数据汇总的excel中,并生成一些图表形成报告。 调研了一些方法,因为没有web的基础,没有考虑js的库。首先考虑的是java的poi,可以方便的读写excel,也查了一些ja...
  • baijianmin125
  • baijianmin125
  • 2017年02月14日 21:01
  • 167

Qt 在mac 下添加第三方 framework的方法

1, Copy the SDL2.framework to /Library/Frameworks 2,如果没有足够高的权限 /Library/Frameworks  3,自定义路径的话 ...
  • lanxiaziyi
  • lanxiaziyi
  • 2017年03月06日 17:22
  • 747

用qt调用第三方库

声明: 事先我已经自己动手写了一个简单的dll文件(myDLL.dll),C版接口的。并且用我前两篇有关DLL文章里面的方法,从dll中导出了导入库(.lib)文件,dll中有两个函数,原型如下: ...
  • yu_gi_oh
  • yu_gi_oh
  • 2016年07月27日 14:14
  • 3405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT 加载第三方库
举报原因:
原因补充:

(最多只允许输入30个字)