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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Qwt myPlot  (Прочитано 15876 раз)
SLiDER
Гость
« Ответ #15 : Октябрь 05, 2007, 22:17 »

Как раз недавно использовал qwt, соответственно и собирал.
Что примечательного заметил - то что собирается только релиз версии длл-ек и либ.
Чтобы собрать дебаг версии приходится руками править мейкфайл.

Зачем makefile-то править, когда проще pro-файл подправить? Добавить в него
Код:
CONFIG += debug_and_release
для того чтобы собирались сразу обе версии библиотеки, и еще
Код:
CONFIG(debug, debug|release) {
unix: TARGET = $$join(TARGET,,,_debug)
else: TARGET = $$join(TARGET,,d)
}
чтобы названия release-версии от debug-версии отличались. Ибудет вам счастие великое.  Подмигивающий
Записан
KADABRA
Гость
« Ответ #16 : Октябрь 06, 2007, 18:36 »

чтобы названия release-версии от debug-версии отличались. Ибудет вам счастие великое.  Подмигивающий
Ну, вот это я как раз в мейкфайле правил Улыбающийся
Записан
finka
Гость
« Ответ #17 : Октябрь 10, 2007, 18:40 »

Я созрела для того, чтобы переустановить qwt в debug_and_release варианте. Последовательность моих действий:
добавила в qwt.pro строчку:
Код:
CONFIG += debug_and_release
добавила в qwtconfig.pri строчки:
CONFIG(debug, debug|release) {
unix: TARGET = $$join(TARGET,,,_debug)
else: TARGET = $$join(TARGET,,d)
}
далее
Код:
qmake qwt.pro
nmake
cd examples
qmake examples.pro
nmake
cd ../admin
msvc-qmake vc"
Потом засунула qwt5.dll в qt/bin, а qwt5.lib в qt/lib. Почему-то собралась только дебаг версия примеров:( Примеры работают, а ворнинг такой: MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
Почему у меня не собрались release версии примеров? Может я опять как-то не так собрала qwt???
Записан
finka
Гость
« Ответ #18 : Октябрь 10, 2007, 18:53 »

В  vs собрала release версию примеров radio и bode. экзешники создаются но не запускаются:
Код:
Debug Error!
Program: путь к экзешнику
Module: 4.3.1
File: global\qglobal.cpp
Line: 2152
QWidget: Must construct a QApplication before a QPaintDevice
Ну и тот же ворнинг естественно.
Записан
SLiDER
Гость
« Ответ #19 : Октябрь 10, 2007, 19:53 »

Не, не так.

1. В файле qwtconfig.pri заменяете строчку

Код:
CONFIG           += release     # release/debug

на строчку

Код:
CONFIG           += debug_and_release     # release/debug

2. В файл src\src.pro добавляете следующий код

Код:
CONFIG(debug, debug|release) {
unix: TARGET = $$join(TARGET,,,_debug)
else: TARGET = $$join(TARGET,,d)
}

например, сразу после строчки

Код:
DESTDIR           = ../lib

3. Собираете все это, и получаете полный комплект dll и lib файлов debug (с постфиксом d) и release версий.

4. Пишите хорошие и красивые программы.  Улыбающийся
Записан
ритт
Гость
« Ответ #20 : Октябрь 10, 2007, 20:15 »

только что пересобрал либу, проверил все примеры - ни разу ни одного даже ворнинга
если и с использованием подсказки выше победить не удастся, переходите на гцц Улыбающийся
Записан
Tonal
Гость
« Ответ #21 : Октябрь 10, 2007, 20:38 »

Очевидно не совпадают настройки рантаймов статика/динамика одно/много поточность.
Записан
finka
Гость
« Ответ #22 : Октябрь 11, 2007, 11:11 »

SLiDER ,
1) у меня так и было
2) исправила
3)
Код:
qmake qwt.pro
nmake
link fatal error: cannot open input file '../lib.qwt5.lib'
В папке lib присутствуют только dqwt5.lib (.dll), а release версий qwt5 нет совсем:(
ЗЫ: и еще собирается с кучей ворнингов типа "... no suitable definition provided for explicit template instantiation request with [ T = qreal]"
« Последнее редактирование: Октябрь 11, 2007, 11:20 от finka » Записан
finka
Гость
« Ответ #23 : Октябрь 11, 2007, 11:41 »

Да, и еще - если просто += release, то release-версия собирается.
Записан
SLiDER
Гость
« Ответ #24 : Октябрь 11, 2007, 18:57 »

SLiDER ,
1) у меня так и было
2) исправила
3)
Код:
qmake qwt.pro
nmake
link fatal error: cannot open input file '../lib.qwt5.lib'
В папке lib присутствуют только dqwt5.lib (.dll), а release версий qwt5 нет совсем:(
ЗЫ: и еще собирается с кучей ворнингов типа "... no suitable definition provided for explicit template instantiation request with [ T = qreal]"

И всетаки у вас было не совсем так (вы редактировали не src.pro). Похоже что вы в qwtconfig.pri раскоментировали строчку для сборки примеров, так вот линкер не может найти release-версию библиотеки, так как она еще не собрана, судя по всему. Наберите вместо nmake, nmake Release. Кстати вот это -> dqwt5.lib опечатка или библиотека так назвалась при сборке? Вообщето должно было быть qwt5d.libНепонимающий

З.Ы. На эти ворнинги не обращайте внимания, это компилятор Visual Studio не очень хорошо понимает С++.  Смеющийся Шутка.
Записан
finka
Гость
« Ответ #25 : Октябрь 12, 2007, 15:02 »

Не опечатка, так и назвалась.
Записан
SLiDER
Гость
« Ответ #26 : Октябрь 12, 2007, 19:23 »

Не опечатка, так и назвалась.

Эмммм, попробуйте вот здесь

Код:
else: TARGET = $$join(TARGET,,d)

запятую добавить, вот так

 
Код:
else: TARGET = $$join(TARGET,,,d)
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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