在Qt中工程通过.pro文件管理,所以库文件要在.pro文件中添加。
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控制台应用程序ffmpeg,将ffmpeg的静态库放进工程的跟目录,include文件下为静态库的头文件,lib下为8个静态库的.a文件。
在.pro文件中添加静态库,.pro文件最后看起来如下:
#-------------------------------------------------
#
# Project created by QtCreator 2016-03-11T15:58:33
#
#-------------------------------------------------
QT += core
QT -= gui
TARGET = FFmpeg
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += ./ffmpeg/include
LIBS += -L./ffmpeg/lib/ -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswscale -lswresample
在main.cpp中添加如下测试代码:
#include <QtCore/QCoreApplication>
#include <QDebug>
#define __STDC_CONSTANT_MACROS
extern "C"
{
#include "libavcodec/avcodec.h"
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<"Hello World!\n";
qDebug()<<avcodec_configuration();
return a.exec();
}
运行后打印ffmpeg的配置信息,则代表已经配置完成!