Thursday, March 3, 2011

QtService


Создавая службу на основе QtService версии 2.6.1, при компоновке происходили ошибки следующего вида:

error LNK2019: unresolved external symbol "public: __thiscall QtServiceBase::QtServiceBase(int,char * *,class QString const &)" (??0QtServiceBase@@QAE@HPAPADABVQString@@@Z) referenced in function "public: __thiscall QtService::QtService(int,char * *,class QString const &)" (??0?$QtService@VQCoreApplication@@@@QAE@HPAPADABVQString@@@Z)

error LNK2019: unresolved external symbol "public: virtual __thiscall QtServiceBase::~QtServiceBase(void)" (??1QtServiceBase@@UAE@XZ) referenced in function "public: virtual __thiscall QtService::~QtService(void)" (??1?$QtService@VQCoreApplication@@@@UAE@XZ)

Для того чтобы правильно собрать модуль
нужно сделать следующее:
Взять файл examples.pro, в папке examples предварительно создав папку с названием проекта, изменить его следующим образом:

Присвоить ему имя необходимого solution:
solution_name.pro

А содержимое этого файла должно иметь следующий вид:

TEMPLATE = subdirs
SUBDIRS = project_name\

Где SUBDIRS обозначает имя проекта, который будет создан в solution.

В папке project_name\ должны быть файлы:

project_name.pro
project_name.qdoc
и как минимум файл main.cpp

В файле project_name.pro

TARGET = ProjectName
TEMPLATE = app
CONFIG += console qt
QT = core network 

QT указывает какие Qt библиотеки будут использоваться в проекте:


SOURCES = main.cpp
include(../../src/qtservice.pri)

Затем необходимо открыть файл solution_name.pro в студии:




Открыв файл должно появиться следующее окно:



По окончании данного процесса будет сгенерирован солюшн с проектом.

No comments:

Post a Comment