Russian Qt Forum
Май 02, 2024, 08:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT-4.4.3 Linux - своя библиотека static  (Прочитано 4418 раз)
izoomer
Гость
« : Март 03, 2009, 17:09 »

Никогда не делал такого , начинающий вопрос - не бейте.
Есть проект в котором создается static-lib. Само собой создается mylib.a.
Хотелось бы в других проектах использовать эту либу по культурному, то есть в папку с проектом в includes и libs кладм соответсвенно заголовочный файл и либу и работаем с классом созданным в либе.
Сейчас просто подключаю h файл из папки с исходниками либы и работаю. А если вот кладу этот h в папку к проекту и кладу либу то требует все включаемые файлы в либе . Хтел сделать один интерфейсный заголовочник и все.
подскажиет как сделать ?
Записан
Rcus
Гость
« Ответ #1 : Март 03, 2009, 17:35 »

Ну может ваш .h файл покажете? Подозреваю подключение внутренних заголовков
Записан
izoomer
Гость
« Ответ #2 : Март 03, 2009, 17:46 »

Ну может ваш .h файл покажете? Подозреваю подключение внутренних заголовков
Да, есть подключение внутренних заголовков:
Код:

#ifndef JDEVICEDISPATCHER_H
#define JDEVICEDISPATCHER_H

#include <QStack>
#include <QDomDocument>
#include <QBitArray>
#include <QFileInfo>

#include "usbDevice.h"
#include "JConfigModel.h"
#include "JCountersXMLDocument.h"
#include "JConfigXMLDocument.h"
extern "C"{
#include "t-encrypt-sign.h"
}

class JDeviceDispatcher : public QWidget
{
Q_OBJECT
Q_ENUMS(InitFlags)
public:
enum InitFlags { initCounters , initConfig , initAll , null};

JDeviceDispatcher(QWidget *_parent = 0, InitFlags fl = initAll );
~JDeviceDispatcher();

void setObject(QObject * sender, const QStringList & connectSignals);
usbDevice * getDevice();
usbDevice * device;

JCountersXMLDocument * getCountersXMLDocument();
JConfigXMLDocument * getConfigXMLDocument();

bool emptyDevice();
bool initDevice();

private:
QFile * fileLCDText;
InitFlags flags;

QStack < QPair<QObject*,QStringList> > objects;
QDomDocument docConfig;
QDomDocument docCounters;

bool configIsCreate;
bool countersIsCreate;

JCountersXMLDocument * countersDocument;
JConfigXMLDocument * configDocument;

private slots:

void disconnectObject(QObject *);
void readAllData();
void countersEmpty( const QByteArray & data );
void configEmpty( const QByteArray & data );

signals:
void isReadyWork();
void errorReadCounters(const QString &);
void errorReadConfig(const QString &);
public slots:
void setBlock( bool );
    void resetDevice();
    void setTextLCD(QString);

};

#endif



Записан
Rcus
Гость
« Ответ #3 : Март 03, 2009, 17:56 »

Ну вот и все. Включенные в заголовок файлы становятся частью интерфейса библиотеки Улыбающийся
http://techbase.kde.org/Policies/Library_Code_Policy - советую прочитать.
Записан
izoomer
Гость
« Ответ #4 : Март 03, 2009, 17:57 »

Ну вот и все. Включенные в заголовок файлы становятся частью интерфейса библиотеки Улыбающийся
http://techbase.kde.org/Policies/Library_Code_Policy - советую прочитать.
а что нужно сделать чтобы был один интерфейсный заголовочник ? как скомпоновать нужно все эти заголовочники что бы в один все всунуть ?
Записан
izoomer
Гость
« Ответ #5 : Март 04, 2009, 11:56 »

подскажите кто нибудь .
Есть несколько файлов в проекте cpp и h , главный файл с главным классом описан выше. Как мне сделать что бы один заголовочный фалй можно было полочить в includes а либу положить в libs и работало .
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 21.