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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: QWT. Помогите правильно установить  (Прочитано 39805 раз)
ритт
Гость
« Ответ #15 : Апрель 08, 2008, 07:11 »

у меня, например, 3-4 сборки (2 сборки ветки 4.3 и 1-2 - ветки 4.4). и делаю тупо-тупо: скажем, кутэ в папках /opt/Qt/4.3.4{,-static} - делаю симлинку "4.3" на папку "4.3.4" и работаю. нужен статик - кидаю симлинку на соотв.папку
под вендами можно то же самое, но переносом вместо симлинков Улыбающийся

кутэ не будет собираться 2-3 часа, если не собирать демки и экзамплы. ещё можно сказать -no-process при конфигурации
Записан
Tonal
Гость
« Ответ #16 : Апрель 08, 2008, 07:33 »

Про статику и динамику - если кратко учи матчасть.
На пальцах, это примерно так можно объяснить:
Твой плагин написан с использованием Qt. В Qt есть масса общих вещей: тот же QApplication, система ресурсов, настройки стилей, настройки трансляции строк, плагинная система, система передачи сообщений и. т.п.
Понятно, что таких общих вещей должно быть по одной на всё приложение (можешь догадаться почему?).
Приложение у нас - designer - тоже написан с использованием Qt. Соответственно, он тоже использует те же общие вещи.
Для того, чтобы сохранить условия единственности, у нас 2е возможности:
1) Вынести эти общие вещи в dll-ки, и всем остальным - exe-шнику и плагинам использовать эти dll-ки.
Это называется динамическая сборка.
2) Собрать всё в один большой exe-шник, без dll-ек - тогда все общие вещи будут у него внутри, и все будут к ним обращаться.
Это статическая сборка, и плагины - как отдельные dll-ки в этом режиме невозможны (понятно почему?).
Единственное, что ты здесь можешь сделать, это изменить проект дизайнера так, чтобы он включал в себя и qwt и его плагин. :-)

P.S Те же самые соображения относятся и к рантайму языка, только общими вещами, в этом случае, являются менеджер памяти, таблица открытых файлов, состояние некоторых функций, и т.п.

P.P.S. Сейчас нельзя собрать Qt одновременно и в статику и в динамику в одном дереве исходников. Почему так - я не в курсе, но доводы в принципе понятны.
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #17 : Апрель 08, 2008, 07:50 »

Михаил, объясните пожалуйста, каким образом можно организовать 2 сборки Qt?
Они должны быть в разных папочках или как?
Вот у меня Qt находится в папке C:\Qt\4.2.2. Есть еще интенратор для MSVC.
Не будет ли интегратор ругаться на то что у меня 2 сборки?
Как все так круто замутить? И как переключаться между сборками?
Объясните пожалуйста.

Организация очень простая:
C:\Qt - общий каталог для всех версий
C:\Qt\434dmsvc - Qt версии 4.3.4 от компилированное компилятором MS C++ как shared
C:\Qt\434smsvc - Qt версии 4.3.4 от компилированное компилятором MS C++ как static
.....
.....
.....
Переход от одной Qt  к другой при помощи изменения переменных окружения.

Есть и другой путь : я использую AnyQSoftIDE там все для этого заточено. Переменные окружения меняются для запускаемого процесса через меню.
Записан
silart
Гость
« Ответ #18 : Апрель 08, 2008, 07:53 »

Про статику и динамику - если кратко учи матчасть.
На пальцах, это примерно так можно объяснить:
Твой плагин написан с использованием Qt. В Qt есть масса общих вещей: тот же QApplication, система ресурсов, настройки стилей, настройки трансляции строк, плагинная система, система передачи сообщений и. т.п.
Понятно, что таких общих вещей должно быть по одной на всё приложение (можешь догадаться почему?).
Приложение у нас - designer - тоже написан с использованием Qt. Соответственно, он тоже использует те же общие вещи.
Для того, чтобы сохранить условия единственности, у нас 2е возможности:
1) Вынести эти общие вещи в dll-ки, и всем остальным - exe-шнику и плагинам использовать эти dll-ки.
Это называется динамическая сборка.
2) Собрать всё в один большой exe-шник, без dll-ек - тогда все общие вещи будут у него внутри, и все будут к ним обращаться.
Это статическая сборка, и плагины - как отдельные dll-ки в этом режиме невозможны (понятно почему?).
Единственное, что ты здесь можешь сделать, это изменить проект дизайнера так, чтобы он включал в себя и qwt и его плагин. :-)

P.S Те же самые соображения относятся и к рантайму языка, только общими вещами, в этом случае, являются менеджер памяти, таблица открытых файлов, состояние некоторых функций, и т.п.

P.P.S. Сейчас нельзя собрать Qt одновременно и в статику и в динамику в одном дереве исходников. Почему так - я не в курсе, но доводы в принципе понятны.

Большое спасибо, Tonal, за подробное объяснение. Теперь стало все понятно. Улыбающийся
Может из-за этого были проблемы, когда я у вас спрашивал про графический интерфейс внутри dll.
Записан
Tonal
Гость
« Ответ #19 : Апрель 08, 2008, 08:07 »

Цитировать
Читайте книги - они рулез! Улыбающийся (c) Не помню чей
Записан
silart
Гость
« Ответ #20 : Апрель 08, 2008, 08:08 »

Переход от одной Qt  к другой при помощи изменения переменных окружения.
Михаил, объясните пожалуйста, как и где можно изменить переменные окружения?
Я знаю что есть в студии файлик vcvars32.bat, который их определяет для MSVC.
И в Qt тоже есть подобный файл: qtvars.bat.
Чтобы изменить переменные окружения нужно для каждой версии Qt иметь отредактированный файл, да?
И когда собираешься поставить нужную версию просто его запустить?
Или я что-то не понимаю?
Записан
ритт
Гость
« Ответ #21 : Апрель 08, 2008, 10:01 »

qtvars.bat нужен для мингва. у студии свой конфиг

предлагаю вытекающие вопросы задавать в разделе "сборка, настройка и т.д.", а эту ветку переместить в "кандидаты..."
Записан
Tonal
Гость
« Ответ #22 : Апрель 08, 2008, 13:12 »

А можно и в FAQ. Улыбающийся
Записан
ритт
Гость
« Ответ #23 : Апрель 08, 2008, 14:59 »

ага...я бы "кратко про статику и динамику" в фак добавил
жаль только, что не этого самого фака Грустный
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #24 : Апрель 08, 2008, 16:05 »

Переход от одной Qt  к другой при помощи изменения переменных окружения.
Михаил, объясните пожалуйста, как и где можно изменить переменные окружения?
Я знаю что есть в студии файлик vcvars32.bat, который их определяет для MSVC.
И в Qt тоже есть подобный файл: qtvars.bat.
Чтобы изменить переменные окружения нужно для каждой версии Qt иметь отредактированный файл, да?
И когда собираешься поставить нужную версию просто его запустить?
Или я что-то не понимаю?

Пуск - Панель управления - Система - Дополнительно - Переменные среды

А там в системных переменных:
1). QTDIR      c:\qt\434dmsvc - выделенное редактируешь под конкретный путь.
2). PATH       ..........c:\qt\434dmsvc\bin - выделенное редактируешь под конкретный путь.

Просмотреть установленные переменные среды можно с помощью команды SET в сеансе DOC

Можно конечно и файлик подготовить и запускать его в сеансе DOC.

Вообще то это ну просто элементарные вопросы.
Как можно компилировать Qt без знания таких вещей, я не уж говорю о программировании.
Смотри файл Install из дистрибутива Qt ( Environment variables ).
Записан
silart
Гость
« Ответ #25 : Сентябрь 24, 2008, 08:05 »

Всем добрый день!
Скачал я последнюю версию библиотеки: qwt-5.1.1. Все вроде скомпилировалось, и сама библиотека, и плагин для дизайнера. Скопировал я этот плагин в папку plugins\designer, но в дизайнере ничего не изменилось, новые виджеты не появились. При первом запуске после копирования плагина в окошке Help/About plugins написано что по указанному пути не найден модуль плагина. При последующих запусках написано что плагин неправильный. В документации было по этому поводу написано, что проблемы могут возникнуть если туда скопируешь debug-версию плагина, но я копировал release версию. Еще я саму библиотеку копировал в папку bin самой Qt - тоже не помогло. Есть какие-нибудь мысли на этот счет?
Записан
Karl-Philipp
Гость
« Ответ #26 : Сентябрь 24, 2008, 09:58 »

Чем компилировали?
Если VS, то поиск по форуму - the best Улыбающийся
http://www.prog.org.ru/index.php?topic=7343.msg37494#msg37494
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #27 : Сентябрь 24, 2008, 10:11 »

я QT статическое и динамическое организую как 2 папки
типа
C:\QT
C:\QT_other

статики часто нужны клиенту - при разработке они мешают Улыбающийся

про QWT и дизайнер - строю дизайн в линукс, там есть и QWT и KDE виджеты
компиляю я в windows только готовый продукт обычно статик

PS: люди будем терпимы))
Записан
silart
Гость
« Ответ #28 : Сентябрь 24, 2008, 10:46 »

я QT статическое и динамическое организую как 2 папки
типа
C:\QT
C:\QT_other

статики часто нужны клиенту - при разработке они мешают Улыбающийся

про QWT и дизайнер - строю дизайн в линукс, там есть и QWT и KDE виджеты
компиляю я в windows только готовый продукт обычно статик

PS: люди будем терпимы))
Да, у меня тоже 2 версии Qt: static и shared. Я с этим уже разобрался. Компилировал все студией. Как только эти виджеты в дизайнер запихать? Я смотрел тут на форуме, были предложения убить ветку реестра. Но как-то не хочется так сразу так круто! Вдруг все остальное перестанет работать? Неужели разработчики не справились с этим глюком? Ведь давно же про это разговор идет...
Записан
ilyagoo
Гость
« Ответ #29 : Сентябрь 24, 2008, 11:32 »

Не уверен, что в тему, не вчитывался в ответы. у меня все пашет, набор следующий: VS2005 + sp1, qt-4.2.2, qt-integration-1.2, qwt-5.0.0.
по шагам:
1) ставлю студию, ставлю на нее sp1. делаю переменные среды PATH, LIB, INCLUDE и QTDIR с соответствующими путями.
2) распаковываю qt в папку "c:\qt\4.2.2". В "c:\qt\4.2.2\src\corelib\tools" изменяю два файла (qhash.h и qmap.h), иначе не откомпилится с sp1, а без sp1 порой собирает криво (иногда даже в конструкторы не попапает).
3) в "c:\qt\4.2.2" : configure, nmake.
4) устанавливаю integration. теперь в студии есть встроенный дизайнер qt форм.
5) в "c:\qt\4.2.2\qwt" пихаю исходники qwt.
6) из студии открываю файл qwt.pro и собираю debug и release с разными именами на выходе, например, qwt5d.dll и qwt5.dll.
7) теперь из командной строки собираю qwt_plugin. в папке с ".pro": configure, nmake, nmake install. в дизайнере появились компоненты qwt.
Крутой чтобы они появились и в студии, пихни qwt_designer_plugin.dll в папку с интегратором "c:\program files\Trolltech\...\плагины к дизайнеру".
есть вопросы - пиши
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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