动态库创建:建立了
libPtiHdlc.h
#ifndef LIBPTIHDLC_H
#define LIBPTIHDLC_H
class libPtiHdlc
{
public:
int add(int i,int j);
int sub(int i,int j);
};
#endif
libPtiHdlc.cpp
#include "libPtiHdlc.h"
extern "C" int libPtiHdlc::add(int i, int j)
{
return i+j;
}
extern "C" int libPtiHdlc::sub(int i, int j)
{
return i-j;
}
在.pro文件中
TEMPLATE = lib
TARGET = ptihdlc
CONFIG += plugin
这时候会生成文件
libptihdlc.so
然后把libptihdlc cp 到/usr/lib/目录下(比较重要)
创建调用程序:
main.cpp
#include <QApplication>
#include <QLibrary>
#include "libPtiHdlc.h"
#include <QtCore>
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
libPtiHdlc pti;
qDebug() << pti.add(3,5);
qDebug() << pti.sub(18, 4);
return app.exec();
}
把
libptihdlc.so
libPtiHdlc.h
都复制到 main.cpp 目录下
再在.pro文件中
######################################################################
# Automatically generated by qmake (2.01a) ?? ?? 15 15:05:44 2009
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
#LIBS +=./libptihdlc.so(这两种表示方法都可以)
LIBS += -L./ -lptihdlc
# Input
HEADERS += libPtiHdlc.h
SOURCES += main.cpp
编译成功
谢谢 大家
[ 此帖被20044454在2009-07-15 16:31重新编辑 ]