qt中怎样添加库文件

qt中怎样添加库文件,第1张

1.添加库文件静态库

linux:LIBS += your_lib_path/your_lib动态库

linux:LIBS += -L your_lib_path -lyour_lib//经过测试了

win32:LIBS += your_lib_path/your_lib例如:

LIBS += -L lib/pcsc/ -lpcsclite

LIBS += lib/pcsc/libpcsclite.a

2.添加头文件

INCLUDEPATH += your_include_path例如:

INCLUDEPATH += . /usr/local/include(点号后面有空格)

3.添加要编译的源文件和头文件

SOURCES:所有源文件列表

HEADERS:所有头文件列表

FORMS:所有.ui文件列表前期工作:

1.检查gcc,g++,qmake是否用错。

2.在Makefile中检查是否少了头文件

3.检查是否与<错用了

4.需要另外加库的程序最好单独建一个文件

qt creater 添加第三方库的方法为:

1、开发过程中想要导入第三方类库和Eclipse也是有差别的,导入SlidingMenu这个类库,从github上下载下来解压到项目目录下。

2、然后重启android studio就会发现项目下面有了类库。需要修改的是根目录的下的settings.gradle这个文件,一定要注意是根目录下的。在里面添加代码。

3、下来我要修改的是App目录下的build.gradle,这里要注意是App目录下的build.gradle,添加如下代码

dependencies {

compile project(’:SlidingMenu-master’)

}

这个也是导入类库的名字。这个时候打开File--- >Project Structure就可以看到导入的类库。到这里的话还没有完成,编译的时候还会报错。

4、还要在项目SlidingMenu-master目录下添加一个build.gradle的这个文件,内容如下

studio导入类库比较费力。

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath ’com.android.tools.build:gradle:0.6.+’

}

}

apply plugin: ’android-library’

repositories {

mavenCentral()

}

android {

compileSdkVersion 18

buildToolsVersion "17.0.0"

defaultConfig {

minSdkVersion 14

targetSdkVersion 18

}

sourceSets {

main {

manifest.srcFile ’AndroidManifest.xml’

java.srcDirs = [’src’]

resources.srcDirs = [’src’]

aidl.srcDirs = [’src’]

renderscript.srcDirs = [’src’]

}

}

}

dependencies {

compile ’com.android.support:appcompat-v7:+’

compile files(’libs/gson-2.2.4.jar’)

}

首先是先新建一个子目录项目,再根据需要在子目录项目中添加一个应用程序项目以及多个库的项目,子目录项目默认就只有一个.pro文件。

从“#”开始,到这一行结束。

模板变量告诉qmake为这个应用程序生成哪种makefile。

指定编译器选项和项目配置,值由qmake内部识别并具有特殊意义。

以下配置值控制编译标志:

qmake添加这个变量的值作为编译器C预处理器宏(-D选项)。

指定编译项目时应该被搜索的#include目录。

指定程序编译时依赖的相关路径。

指定在何处放置目标文件。

指定目标文件的名称。默认情况下包含的项目文件的基本名称。

指定构建目录。

指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h文件的存放目录)。

指定所有中间文件.o(.obj)放置的目录。

指定Qt资源编译器输出文件的目录(.qrc文件转换成qrc_*.h文件的存放目录)。

指定链接到项目中的库列表。-L后是库文件的目录,-l后是具体的库的名字(后缀不用加)。例如:

LIBS += -L$$PWD/../../../ThirdLib/winapi -lWSock32

仅适用于Windows,指定的图标应该包含在一个生成的.rc文件里。如果RC_FILE 和RES_FILE变量都没有设置这才可利用。

指定包含用户界面翻译文本的翻译(.ts)文件列表。

为Windows平台加的依赖平台的文件的简单的作用域看起来就像这样:

win32 { SOURCES += hello_win.cpp }

每次添加一个子项目就会在SUBDIRS项目加上一个项目名,子目录项目的 TEMPLATE = subdirs 。 CONFIG += ordered 是让项目按照顺序编译,由于主程序依赖于对应的库,一般都是把MainApp放在SUBDIRS的最后。

对于一些库和主程序都需要的目录设置 (构建目录、obj生成目录、moc文件生成目录等),可以统一写在一个pri文件中:

在需要引用的pro文件中:

include($$PWD/../../../Path.pri)

message($$INCLUDEPATH) , 会在概要信息中打印相关变量的值

主程序的 TEMPLATE = app 。除了常规的pro设置外,要记得将自己编的库的头文件目录加上,并将生成的dll通过LIBS链接:

库的 TEMPLATE = lib 。库在通过Creator新建的时候会生成一个xxx_global.h,定义了导出库的相关信息:

在库中要作为接口的类记得加上对应的宏:

class TESTLIBSHARED_EXPORT TestLib : public QObject

静态库貌似不需要这个,待测试...


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

原文地址: https://outofmemory.cn/bake/11604359.html

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

发表评论

登录后才能评论

评论列表(0条)

保存