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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: своя библиотека на исходниках  (Прочитано 10862 раз)
boobsik
Гость
« : Август 17, 2009, 10:19 »

вот допустим у меня есть уже написанные классы начинающиеся с ML(MyLibrary) MLTcpServer, MLDataModel, MLItem и много других.. Я храню все файлы *.h и *.cpp на диске D:\ в папке ML.
Что мне необходимо добавить в проект, чтобы использовать эту библиотеку? И интересует, как свою библиотеку сделать максимально корректно?
« Последнее редактирование: Август 17, 2009, 11:04 от boobsik » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Август 17, 2009, 10:23 »

Аналогичный тем на форуме много. Юзай поиск


upd/

 Например вот: http://www.prog.org.ru/topic_8259_0.html
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
boobsik
Гость
« Ответ #2 : Август 17, 2009, 10:32 »

я не имел ввиду dll библиотеку, просто заговолки и исходники, нехочу компилить! пожалуйста читайте внимательно! спасибо! есть файлы *.cpp, есть файлы *.h, файлов *.dll нет у меня! вместо ответа, который возможно приблизит меня к решению проблемы вы даете наобум и вероятно следующий форумчанин увидев, что ответы в топике уже существуют незахочет сюда зайти и прочитать, таким образом это меня отдалит от решения  Плачущий
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Август 17, 2009, 10:38 »

Можно сделать pri-файл, примерный его текст такой:
Код
Bash
HEADERS       += $$PWD/myfile.h
SOURCES       += $$PWD/myfile.cpp
 
INCLUDEPATH  += $$PWD
DEPENDPATH  += $$PWD
 
RESOURCES     += $$PWD/myfile.qrc
 
где переменная $$PWD, при анализе, содержит текущий путь к данному pri-файлу ("./" писать нельзя так как он будет означть текущикаталог вышестоящего файла проекта)

Используешь в фале проекта так:
include(path/to/my.pri)
Записан

Юра.
ритт
Гость
« Ответ #4 : Август 17, 2009, 10:51 »

> Что мне необходимо добавить в проект, чтобы использовать эту библиотеку?
и
> я не имел ввиду dll библиотеку

сам бы определился прежде, чем задавать вопрос.

и
> нехочу компилить

кидай сюда - кто-нибудь из доброжелателей скомпилит.

итого: *ты* отдаляешь себя от решения.
Записан
boobsik
Гость
« Ответ #5 : Август 17, 2009, 10:52 »

Можно сделать pri-файл
это оно!) скажите, а
HEADERS       += $$PWD/myfile.h
SOURCES       += $$PWD/myfile.cpp
само по себе не отягощает мою программу? определяет класс в теле программы? Я его нигде не использую например и не делаю #include <myfile.h> нигде, значит его как-бы и нет?
З.Ы. Спасибо за предыдущий ответ!
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #6 : Август 17, 2009, 10:54 »

Офф:

я не имел ввиду dll библиотеку, просто заговолки и исходники, нехочу компилить! пожалуйста читайте внимательно! спасибо!

Собственно говоря кинулась в глаза фраза:

Цитировать
И интересует, как свою библиотеку сделать максимально корректно?

По приведенной мной ссылке есть описание как "сделать свою библиотеку" и как её использовать. Или вы имеете ввиду что-то другое под названием "библиотека"?


По теме:

Полностью поддерживаю идею Юрия. Пример такого pri-файла можно посмотреть, например, в Qt4 Solutions
« Последнее редактирование: Август 17, 2009, 10:59 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
boobsik
Гость
« Ответ #7 : Август 17, 2009, 10:56 »

прошу прощения, а библиотека разве не бывает на исходниках?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #8 : Август 17, 2009, 11:02 »

прошу прощения, а библиотека разве не бывает на исходниках?

Бывает. Еще раз повторюсь - сбила с толку фраза "сделать свою библиотеку" (сделать из набора *.h и *.cpp на диске D:\ в папке ML)
« Последнее редактирование: Август 17, 2009, 11:07 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
boobsik
Гость
« Ответ #9 : Август 17, 2009, 11:05 »

Всем огромное спасибо! Меняю тему Улыбающийся
Записан
ритт
Гость
« Ответ #10 : Август 17, 2009, 11:05 »

бывают, конечно. обычно это библиотеки печатных изданий Улыбающийся
а ты, вероятно, подразумевал статическую библиотеку...или же вложенный проект (но это менее вероятно) - тут Юрий уже подсказал...
Записан
boobsik
Гость
« Ответ #11 : Август 17, 2009, 11:36 »

у меня еще одна проблема, все файлы отображаются в проекте, а я этого не хотел бы, можно подключить данные файлы к проекту, чтобы они не отягащали интерфейс среды разработки? просто необходимости их редактировать и видеть перед глазами нет)
Записан
ритт
Гость
« Ответ #12 : Август 17, 2009, 11:37 »

статическая библиотека
Записан
boobsik
Гость
« Ответ #13 : Август 17, 2009, 11:49 »

ну вот я в файле проекта(*.pro) например присоединяю директорию с хедерами библиотеки
INCLUDEPATH += D:\Projects\ML
и хедеры прекрасно видны! Что необходимо дописать, чтобы стала видна директория с исходниками(*.cpp)? А то ошибки что функции есть, а ссылок на них нет (undefined reference to `MLTcpServer::MLTcpServer(QObject*)')    Обеспокоенный
Записан
boobsik
Гость
« Ответ #14 : Август 17, 2009, 13:22 »

Ладно, придется ограничится статической библиотекой, раз уж все так делают )
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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