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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Прошу помощи по настройке для работы с QWT  (Прочитано 14581 раз)
Ced
Гость
« : Май 12, 2017, 11:10 »

Добрый день. Для рисования графиков решил воспользоваться библиотекой Qwt-6.1.3.
Установил по инструкции. Заголовочные файлы компилятором видятся. Сборка проходит нормально.
Есть две проблемы:
1. Редактор форм не видит виджетов QWT;
2. Запущенная программа завешается, не найдя DLL. Какой DLL - не сообщает. Падает раньше, чем начинает работать дебагер.

В составе библиотеки нашел всего 3 DLL:
qwt_designer_plugin.dll
qwtd.dll
qwt.dll

Засунул их все по следующим путям:
C:\Qt\5.x\mingw53_32\bin
C:\Qt\5.x\mingw53_32\lib
C:\Qt\5.x\mingw53_32\plugins\designer
C:\Qt\Tools\QtCreator\bin\plugins\designer
C:\Qt\Tools\QtCreator\lib

Что не так?


« Последнее редактирование: Май 12, 2017, 11:15 от Ced » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Май 12, 2017, 11:15 »

http://dependencywalker.com/

Вот этим можешь посмотреть зависимости.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Май 12, 2017, 11:54 »

debug и release не перепутаны при подключении?
qtdesigner собран с помощью msvc. Поэтому не подгружается инструмент редактора.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #3 : Май 12, 2017, 12:01 »

Цитировать
1. Редактор форм не видит виджетов QWT;

Да и не нужно это, ну правда.

Цитировать
Засунул их все по следующим путям:

C:\Qt\5.x\mingw53_32\bin
C:\Qt\5.x\mingw53_32\lib
C:\Qt\5.x\mingw53_32\plugins\designer
C:\Qt\Tools\QtCreator\bin\plugins\designer
C:\Qt\Tools\QtCreator\lib

Не надо так.

Я не знаю как ты собирал и устанавливал Qwt, как подключал к проекту и где она у тебя лежит.

Но обычно самый простой путь - это в настройках проекта в QtC добавить путь для PATH к директории с Qwt в
"Projects->Run->Run Environment" для твоей запускаемой екзешки. Тогда твоя программулина будет запускаться из QtC
и отлаживаться.
Записан

ArchLinux x86_64 / Win10 64 bit
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #4 : Май 12, 2017, 12:35 »

Цитировать
1. Редактор форм не видит виджетов QWT;

Да и не нужно это, ну правда.
Немного заморочно инструмент настраивается, но пользу имеет при просмотре ui файлов. Помню были разночтения в отображении QWidget и QwtPlot, с политикой размеров по умолчанию, вроде, было связано. Но, по правде, всё это мелочи.
Записан
Ced
Гость
« Ответ #5 : Май 12, 2017, 12:46 »

http://dependencywalker.com/

Вот этим можешь посмотреть зависимости.

Посмотрел. Одну dll добавил. На один шаг продвинулся. Но дальше он стал ругаться на dll из system32, которые там есть.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Май 12, 2017, 13:00 »

2. Запущенная программа завешается, не найдя DLL. Какой DLL - не сообщает. Падает раньше, чем начинает работать дебагер.
А что пишет? Может "invalid side-by-side"? Так бывает если либа собрана с одними runtime(ами) а приложение с другими
Записан
Ced
Гость
« Ответ #7 : Май 12, 2017, 13:22 »

Цитировать
Но обычно самый простой путь - это в настройках проекта в QtC добавить путь для PATH к директории с Qwt в
"Projects->Run->Run Environment" для твоей запускаемой екзешки. Тогда твоя программулина будет запускаться из QtC
и отлаживаться.

Там все добавлено
Записан
Ced
Гость
« Ответ #8 : Май 12, 2017, 13:25 »


Немного заморочно инструмент настраивается, но пользу имеет при просмотре ui файлов. Помню были разночтения в отображении QWidget и QwtPlot, с политикой размеров по умолчанию, вроде, было связано. Но, по правде, всё это мелочи.

Ну эту беду я смогу пережить. Вообще предпочитаю все отображение писать текстом. Ui не использую. А вот с DLL пока затык.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #9 : Май 12, 2017, 13:46 »

взглянуть бы на pro и на лог сборки
Записан
Ced
Гость
« Ответ #10 : Май 12, 2017, 14:16 »

С помощью вот этой примочки
 depends
Выяснил, что проблема в нескольких DLL из windows/system32/downlevel
Беда в том, что все эти DLL там есть и проекты без QWT таких проблем не создают.
Записан
Ced
Гость
« Ответ #11 : Май 12, 2017, 14:17 »

взглянуть бы на pro и на лог сборки
Код:
#-------------------------------------------------
#
# Project created by QtCreator 2017-05-12T08:52:18
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = qwt_test
TEMPLATE = app

INCLUDEPATH += C:\Qwt-6.1.3\include

LIBS += -LC:\Qwt-6.1.3\lib -lqwt

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

Это проект. Сборка проходит чисто, без единого предупреждения.
Записан
Ced
Гость
« Ответ #12 : Май 12, 2017, 14:20 »

взглянуть бы на pro и на лог сборки

Вот консоль сборки
Код:
14:18:42: Выполняются этапы для проекта qwt_test...
14:18:42: Настройки не изменились, этап qmake пропускается.
14:18:43: Запускается: «C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe»
C:\Qt\5.8\mingw53_32\bin\qmake.exe -o Makefile ..\qwt_test\qwt_test.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
C:/Qt/Tools/mingw530_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'E:/Programs/QWT_test/build-qwt_test-Desktop_Qt_5_8_0_MinGW_32bit-Debug'
mingw32-make[1]: Nothing to be done for 'first'.
mingw32-make[1]: Leaving directory 'E:/Programs/QWT_test/build-qwt_test-Desktop_Qt_5_8_0_MinGW_32bit-Debug'
14:18:44: Процесс «C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe» завершился успешно.
14:18:44: Прошло времени: 00:02.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #13 : Май 12, 2017, 14:21 »

-lqwtd для дебага
Записан
Ced
Гость
« Ответ #14 : Май 12, 2017, 14:35 »

-lqwtd для дебага

Но это же не должно так влиять?
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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