Название: своя библиотека на исходниках Отправлено: boobsik от Август 17, 2009, 10:19 вот допустим у меня есть уже написанные классы начинающиеся с ML(MyLibrary) MLTcpServer, MLDataModel, MLItem и много других.. Я храню все файлы *.h и *.cpp на диске D:\ в папке ML.
Что мне необходимо добавить в проект, чтобы использовать эту библиотеку? И интересует, как свою библиотеку сделать максимально корректно? Название: Re: своя библиотека Отправлено: pastor от Август 17, 2009, 10:23 Аналогичный тем на форуме много. Юзай поиск
upd/ Например вот: http://www.prog.org.ru/topic_8259_0.html Название: Re: своя библиотека Отправлено: boobsik от Август 17, 2009, 10:32 я не имел ввиду dll библиотеку, просто заговолки и исходники, нехочу компилить! пожалуйста читайте внимательно! спасибо! есть файлы *.cpp, есть файлы *.h, файлов *.dll нет у меня! вместо ответа, который возможно приблизит меня к решению проблемы вы даете наобум и вероятно следующий форумчанин увидев, что ответы в топике уже существуют незахочет сюда зайти и прочитать, таким образом это меня отдалит от решения :'(
Название: Re: своя библиотека Отправлено: lit-uriy от Август 17, 2009, 10:38 Можно сделать pri-файл, примерный его текст такой:
Код где переменная $$PWD, при анализе, содержит текущий путь к данному pri-файлу ("./" писать нельзя так как он будет означть текущикаталог вышестоящего файла проекта) Используешь в фале проекта так: include(path/to/my.pri) Название: Re: своя библиотека Отправлено: ритт от Август 17, 2009, 10:51 > Что мне необходимо добавить в проект, чтобы использовать эту библиотеку?
и > я не имел ввиду dll библиотеку сам бы определился прежде, чем задавать вопрос. и > нехочу компилить кидай сюда - кто-нибудь из доброжелателей скомпилит. итого: *ты* отдаляешь себя от решения. Название: Re: своя библиотека Отправлено: boobsik от Август 17, 2009, 10:52 Можно сделать pri-файл это оно!) скажите, а HEADERS += $$PWD/myfile.h SOURCES += $$PWD/myfile.cpp само по себе не отягощает мою программу? определяет класс в теле программы? Я его нигде не использую например и не делаю #include <myfile.h> нигде, значит его как-бы и нет? З.Ы. Спасибо за предыдущий ответ! Название: Re: своя библиотека Отправлено: pastor от Август 17, 2009, 10:54 Офф:
я не имел ввиду dll библиотеку, просто заговолки и исходники, нехочу компилить! пожалуйста читайте внимательно! спасибо! Собственно говоря кинулась в глаза фраза: Цитировать И интересует, как свою библиотеку сделать максимально корректно? По приведенной мной ссылке есть описание как "сделать свою библиотеку" и как её использовать. Или вы имеете ввиду что-то другое под названием "библиотека"? По теме: Полностью поддерживаю идею Юрия. Пример такого pri-файла можно посмотреть, например, в Qt4 Solutions Название: Re: своя библиотека Отправлено: boobsik от Август 17, 2009, 10:56 прошу прощения, а библиотека разве не бывает на исходниках?
Название: Re: своя библиотека Отправлено: pastor от Август 17, 2009, 11:02 прошу прощения, а библиотека разве не бывает на исходниках? Бывает. Еще раз повторюсь - сбила с толку фраза "сделать свою библиотеку" (сделать из набора *.h и *.cpp на диске D:\ в папке ML) Название: Re: своя библиотека на исходниках Отправлено: boobsik от Август 17, 2009, 11:05 Всем огромное спасибо! Меняю тему :)
Название: Re: своя библиотека Отправлено: ритт от Август 17, 2009, 11:05 бывают, конечно. обычно это библиотеки печатных изданий :)
а ты, вероятно, подразумевал статическую библиотеку...или же вложенный проект (но это менее вероятно) - тут Юрий уже подсказал... Название: Re: своя библиотека на исходниках Отправлено: boobsik от Август 17, 2009, 11:36 у меня еще одна проблема, все файлы отображаются в проекте, а я этого не хотел бы, можно подключить данные файлы к проекту, чтобы они не отягащали интерфейс среды разработки? просто необходимости их редактировать и видеть перед глазами нет)
Название: Re: своя библиотека на исходниках Отправлено: ритт от Август 17, 2009, 11:37 статическая библиотека
Название: Re: своя библиотека на исходниках Отправлено: boobsik от Август 17, 2009, 11:49 ну вот я в файле проекта(*.pro) например присоединяю директорию с хедерами библиотеки
INCLUDEPATH += D:\Projects\ML и хедеры прекрасно видны! Что необходимо дописать, чтобы стала видна директория с исходниками(*.cpp)? А то ошибки что функции есть, а ссылок на них нет (undefined reference to `MLTcpServer::MLTcpServer(QObject*)') :-[ Название: Re: своя библиотека на исходниках Отправлено: boobsik от Август 17, 2009, 13:22 Ладно, придется ограничится статической библиотекой, раз уж все так делают )
Название: Re: своя библиотека на исходниках Отправлено: lit-uriy от Август 17, 2009, 18:05 >>само по себе не отягощает мою программу?
тут идея простая, в коде (*.h и *.cpp файлах), выше указанные исходники используются как обычно. А pri-файл сделан только ради одной цели - чтобы в данный проект можно было одной строчкой включить все необходимые файлы "модуля" (по твоему "библиотеки"). Если ты в самом коде не используешь эти файлы, то и в файл проекта незачем подключать этот pri-файл. (относительно Креатора ничего не скажу - не пользуюсь) Название: Re: своя библиотека на исходниках Отправлено: ритт от Август 17, 2009, 18:42 креатор отображает все вложенные проекты в дереве - по ветке на такой проект...не слишком удобно, честно говоря...
и всё же, я бы советовал динамическую библиотеку (или статическую, если она больше нигде пригодиться не может) |