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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Прошу помощи по настройке для работы с QWT  (Прочитано 14709 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



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

Должно
Записан
Ced
Гость
« Ответ #16 : Май 12, 2017, 17:40 »

Создал проект заново.
Теперь новая напасть.
Код:
#include <QMainWindow>

#include <qwt_plot_canvas.h>
#include <qwt_legend.h>
#include <qwt_plot_grid.h>
#include <qwt_plot_curve.h>
#include <qwt_symbol.h>


class MainWindow : public QMainWindow
{
    Q_OBJECT
private:
    QwtPlot *myPlot;
    QwtLegend *leg;
    QwtPlotGrid *grid;
    QwtPlotCurve *curv1,*curv2;
public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
};

#include <QMainWindow>

#include <qwt_plot_canvas.h>
#include <qwt_legend.h>
#include <qwt_plot_grid.h>
#include <qwt_plot_curve.h>
#include <qwt_symbol.h>


class MainWindow : public QMainWindow
{
    Q_OBJECT
private:
    QwtPlot *myPlot;
    QwtLegend *leg;
    QwtPlotGrid *grid;
    QwtPlotCurve *curv1,*curv2;
public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
};

Ругается на QwtPlot
Цитировать
E:\Programs\QWT_test\untitled\mainwindow.cpp:7: ошибка: invalid use of incomplete type 'class QwtPlot'
         myPlot = new QwtPlot (this);
                                   ^


Записан
Ced
Гость
« Ответ #17 : Май 12, 2017, 17:44 »

2. Запущенная программа завешается, не найдя DLL. Какой DLL - не сообщает. Падает раньше, чем начинает работать дебагер.
А что пишет? Может "invalid side-by-side"? Так бывает если либа собрана с одними runtime(ами) а приложение с другими

Не, такого не писал.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



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

Это означает, что класс просто предварительно объявлен без предоставления его тела.
Include qwt_plot.h решение
Записан
Ced
Гость
« Ответ #19 : Май 12, 2017, 22:05 »

Это означает, что класс просто предварительно объявлен без предоставления его тела.
Include qwt_plot.h решение

Не помогло. Результат тот же.
Записан
Ced
Гость
« Ответ #20 : Май 13, 2017, 10:52 »

Кажется я приблизился к решению, но без подсказки не получится.
Исправил в проекте строку LIBS. Написал так:
Код:
LIBS+= C:\Qwt-6.1.3\lib
По этому пути лежат 4 файла:
Цитировать
libqwt.a
libqwtd.a
qwt.dll
qwtd.dll

Сообщение компилятора такое
Цитировать
:-1: ошибка: cannot find C:\Qwt-6.1.3\lib: Permission denied

От чего то Qt не имеет доступа к файлам QWT.
« Последнее редактирование: Май 13, 2017, 11:40 от Ced » Записан
Ced
Гость
« Ответ #21 : Май 13, 2017, 11:53 »

Ну наконец разобрался. Переписал в проекте инструкцию LIBS так
Код:
LIBS+= "C:/Qt/Qwt-6.1.3/lib/qwt.dll"

Теперь компилится и запускается.
« Последнее редактирование: Май 13, 2017, 11:56 от Ced » Записан
Ced
Гость
« Ответ #22 : Май 13, 2017, 14:26 »

Короче, беда с этой библиотекой. После того. как заставил компилиться, повторилась ситуация, с которой и начал. Ругается на отсутствующие DLL. При помощи depends выявил недостачу в SYSTEM32 28 штук различных DLL. Все их скачал http://ru.dllworld.org вот с этого сайта.
Теперь ругается на отсутствующие вызовы в userenv.dll. Этот тоже скачал, но пока не заменил.

Хочу спросить у сообщества, а эта QWT под Виндой у кого-нибудь работает? Какая версия Винды, какая версия библиотеки, какая версия Qt?
Что-то мне кажется, не слишком эта штука кроссплатформенная. Возникает ощущение, что воюю дубиной с танком. Может кто посоветует что-то другое для построения графиков?
« Последнее редактирование: Май 13, 2017, 14:33 от Ced » Записан
Ced
Гость
« Ответ #23 : Май 13, 2017, 15:17 »

Выявил, что вызов, который не поддерживается USERENV.DLL, содержится в Qt в файле USERENV.H
За сим мучить QWT заканчиваю. Считаю, что игра не стоит свеч. Пробую QCustomPlot.
Записан
Ced
Гость
« Ответ #24 : Май 13, 2017, 15:29 »

Ну вот. 10 минут трудов и есть график. Всем советую. А QWT - забыть, как страшный сон:)
Записан
vbv
Чайник
*
Offline Offline

Сообщений: 59


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

Ну не знаю.
У меня, под linux, все нормально собирается и работает.
Может зверек ("QWT") под форточками не жизнеспособен.
Еще раз повторюсь под линухами - на ура.
Записан
Ced
Гость
« Ответ #26 : Май 13, 2017, 16:46 »

Ну не знаю.
У меня, под linux, все нормально собирается и работает.
Может зверек ("QWT") под форточками не жизнеспособен.
Еще раз повторюсь под линухами - на ура.

Да я так и подумал, что тут дело в совместимости версий. Может взял бы Qt младше 5.8, и у меня бы проблем не было. Явно что то не срастается между userenv.dll в текущей версии масдая и ожиданиями Qt userenv.h
Но разбираться с этим надоело. Заказчик хочет, чтобы продукт работал под масдаем. QCustomPlot работает без проблем. А на QWT я убил два дня трудов.
QCustomPlot в открытом коде и меня все устраивает.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #27 : Май 17, 2017, 22:56 »

Да всё способно. На 5.7.1 проверял.
Либу правильнее прописывать
LIBS+= -LC:/Qt/Qwt-6.1.3/lib -lqwt
если дебаг, то -lqwtd.
Делов то...
Как автоматизировать дебаг/релиз см. здесь http://stackoverflow.com/questions/1130106/linking-with-a-debug-release-lib-with-qmake-qt-creator
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


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

Никогда особых проблем с QWT под вендой не было... ЧЯДНТ?
Важно только собрать QWT с той же версией QT.
И да, лучше статически. Тогда точно уж взлэтыт.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Ced
Гость
« Ответ #29 : Май 18, 2017, 13:19 »

И да, лучше статически. Тогда точно уж взлэтыт.

Вот это важно. Где вы были неделю назад?Улыбающийся Я уже на на QCustomPlot все написал и оттестировал:)
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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