`
openstudy
  • 浏览: 232371 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

qt eclipse 动态链接库

阅读更多
1)eclipse c++可以集成eclipse的svn插件subclipse
到http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240&expandFolder=2240&folderID=0下载site-1.6.16.zip,解压缩后将features和plugins两个目录复制到eclipse c++目录下即可

2)qt,eclipse c++开发动态链接库
下面的开发内容是参照Qt\4.7.1\examples\tools\echoplugin完成的
项目名为test-service,包括test-service.pro,UserInterface.h,TestUser.h和TestUser.cpp四个文件
项目文件test-service.pro,内容如下
# ! [0]
TEMPLATE = lib
CONFIG += test-service
HEADERS = TestUser.h
SOURCES = TestUser.cpp
TARGET = test-service
DESTDIR = ../lib

接口UserInterface.h内容如下
/*
* UserInterface.h
*
*  Created on: 2011-1-5
*      Author: bruce
*/

#ifndef USERINTERFACE_H_
#define USERINTERFACE_H_

#include <QString>

//! [0]
class UserInterface
{
public:
    virtual ~UserInterface() {}
    virtual QString hello(const QString &message) = 0;
};


QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(UserInterface,
                    "com.openstudy.test.plugin.UserInterface/1.0");
QT_END_NAMESPACE

//! [0]

#endif /* USERINTERFACE_H_ */

头文件TestUser.h,内容如下
/*
* TestUser.h
*
*  Created on: 2011-1-5
*      Author: bruce
*/

#ifndef TESTUSER_H_
#define TESTUSER_H_

#include <QObject>
#include "UserInterface.h"

//! [0]
class TestUser : public QObject, UserInterface
{
    Q_OBJECT
    Q_INTERFACES(UserInterface)

public:
    QString hello(const QString &message);
};
//! [0]

#endif /* TESTUSER_H_ */


cpp文件TestUser.cpp,内容如下
/*
* TestUser.cpp
*
*  Created on: 2011-1-5
*      Author: bruce
*/

#include <QtGui>

#include "TestUser.h"

//! [0]
QString TestUser::hello(const QString &message)
{
    return "hello," + message;
}
//! [0]

//! [1]
Q_EXPORT_PLUGIN2(testuser, TestUser);
//! [1]


只要这4个文件就可以了,然后到项目路径下分别执行qmake和make release两条命令即可。

dll调用,请参照附件中的test-cs部分,需要注意的地方是在test-cs.pro文件中第一行INCLUDEPATH += ../test-service,qmake文档对INCLUDEPATH的解释是应用程序所需的额外的包含路径的列表

qt中文乱码
-Dfile.encoding=UTF-8加入到eclipse.ini,并将以下代码放到main函数的最前面
QTextCodec *codec = QTextCodec::codecForName("UTF8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);

qt读取文件用QSettings
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics