Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: serg_yl от Февраль 17, 2011, 17:24



Название: Хождение по мукам... Зависимости. Сборка.
Отправлено: serg_yl от Февраль 17, 2011, 17:24
Всем доброго вечера!:)

Уважаемые гуру прошу не ругаться за снова поднятый вопрос про qwt и сборку конечных проектов без зависимостей. Ибо, прочитал очень много старей и постов (в основном с этого форума), но честно говоря только еще сильнее запутался...:(

Единственное что у меня получилось - это правильно статически (получились файлы с расширением *.a) собрать qwt-6.0.0-rc5. И о чудо в designer появились заветные qwtwidgets, теперь я думал можно творить и творить то что я задумал... Но не тут то было...

Всю картину омрачило то что после компилирования проекта - примера (из папки qwt) и послед. его запуска из папки bin начинается "хождение по мукам" и множество сообщений об ошибке с требованием того или иного файла *dll.

Свой же проект я даже не могу запустить из-за ошибки undefined reference to ... Хотя в *pro файле явно прописываю путь.
Код:
INCLUDEPATH += "C:\Qt\2010.05\qt\bin\Qwt-6.0.0-rc5\include"

QT       += core gui

TARGET = TRPO
TEMPLATE = app

SOURCES += main.cpp

Прошу Вас еще раз разжевать, как собирать проекты, чтобы все было в одном файле и что еще нужно прописывать в *.pro файле, чтобы таких и подобных этой ошибке не возникало.
Огромное спасибо за все ваши ответы!

P.S.
Про вопрос как можно прикруть qwt в creator-е я вообще молчу ::), т.к. сил уже моих нету собирать и пересобирать этот creator, когда снова после очередной сборки он требует бесконечное множество dll файлов. :'( Собирал все
Win Pro 7 x64, Qt 4.7.1, creator 2.0.1, mingw32


Название: Re: Хождение по мукам... Зависимости. Сборка.
Отправлено: Пантер от Февраль 17, 2011, 17:29
LIBS += путь_к_либе


Название: Re: Хождение по мукам... Зависимости. Сборка.
Отправлено: twp от Февраль 17, 2011, 17:41
Да, компилирование примера qwt не составляет труда, ибо там все настроено, но в своем проекте нужно указывать
Код:
CONFIG += qwt
И не забыть установить переменную среды
Код:
QMAKEFEATURES=C:\Qt\2010.05\qt\bin\Qwt-6.0.0-rc5
тогда в проекте не нужно дополнительно указывать ни INCLUDEPATH ни LIBS
P.S. работает с динамической линковкой, со статикой не проверял


Название: Re: Хождение по мукам... Зависимости. Сборка.
Отправлено: serg_yl от Февраль 17, 2011, 20:26
Цитировать
И не забыть установить переменную среды

Можно по подробнее об этом? Хотелось бы узнать чтобы запустить программу на др. ПК всегда надо настраивать переменную среду?

Цитировать
Да, компилирование примера qwt не составляет труда, ибо там все настроено

Хотелось бы так думать, собираю пример sinusplot как релиз, в папке bin появляется один файл sinusplot.exe, запускаю вылетает окно с требованием mingwm10.dll и так далее...

И еще один вопрос касающийся про файла. Допустим я использую динамическую линковку, тогда как мне заставить creator при релизной сборке автоматом скопировать нужные dll-ки в папку exe файла?


Название: Re: Хождение по мукам... Зависимости. Сборка.
Отправлено: Пантер от Февраль 18, 2011, 08:23
Автоматом ничего копироваться не будет.


Название: Re: Хождение по мукам... Зависимости. Сборка.
Отправлено: serg_yl от Февраль 18, 2011, 09:42
Цитировать
Автоматом ничего копироваться не будет.
С этим я разобрался. Использовал Dependency Walker, скопировал все файлы, которые нужны были.


Название: Re: Хождение по мукам... Зависимости. Сборка.
Отправлено: twp от Февраль 18, 2011, 13:29
Можно по подробнее об этом? Хотелось бы узнать чтобы запустить программу на др. ПК всегда надо настраивать переменную среду?
Все что сказано выше, это касается только сборки. Запуск программы (особенно на другом ПК) это уже проблема развертывания проекта (deployment)



Название: Re: Хождение по мукам... Зависимости. Сборка.
Отправлено: serg_yl от Февраль 18, 2011, 16:20
twp
Цитировать
Да, компилирование примера qwt не составляет труда, ибо там все настроено, но в своем проекте нужно указывать
Код:
CONFIG += qwt
И не забыть установить переменную среды
Код:
QMAKEFEATURES=C:\Qt\2010.05\qt\bin\Qwt-6.0.0-rc5
тогда в проекте не нужно дополнительно указывать ни INCLUDEPATH ни LIBS
P.S. работает с динамической линковкой, со статикой не проверял

К сожалению не помогло:(