Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/75: Рейтинг темы: голосов - 75, средняя оценка - 4.52
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155

Сборка под Windows Xp

15.11.2017, 10:36. Показов 16177. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Возникла необходимость собрать приложение под windows XP. Qt 5.9.2 на Windows 10. Ставил виртуальную машину с Xp, на нее 4.8.2 , ругается на С++11 , надо код переписывать, что не хочется. Динамически на 10-ке собрал exe, в папу кинул все dll которые нужны, но все равно не хочет работать. В гуглах точного решения нет, прошу помочь.
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2017, 10:36
Ответы с готовыми решениями:

Сборка QJSON под Windows
Пытаюсь добавить в CMake компилляторы gcc и g++. Прописал к ним путь через MINGW, но выдает ошибки я приложил скрин, что делать, как...

Сборка и компиляция Qt приложения под Windows
Доброго времени суток! Столкнулся с проблемой компиляции проекта в ОС Windows. Дело в том ,что я не могу откомпилировать и собрать...

Статическая сборка OpenSSL + mingw64 под Windows
Пытаюсь скомпилировать OpenSSL из исходников для статической сборки Qt, но получаю при конфигурации OpenSSL ошибку: ...

50
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
16.11.2017, 16:23
Студворк — интернет-сервис помощи студентам
На практике Xp закончилось после 4.8.4.
Качал давно 5 разных прог мелкие поделки рисовать фракталы с Qt5 было видно по dll. Ниодна не запустилась.
0
 Аватар для icpu
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
16.11.2017, 18:50
TRam_, всё так, офф поддержка закончилась на 5.6. Сам не знал.
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
16.11.2017, 21:38  [ТС]
Какой то геморой, переставил все заново, как раз давно винду не переставлял, все вроде ок, но не работает. И вообще белеберду выдает(((

0
 Аватар для icpu
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
16.11.2017, 22:15
Не белеберду, а ошибку приведения типов. Так и должно быть, элементы bytearray - внезапно byteref. А кодировка? А что кодировка?.. http://andrew-foto.ru/qtcreator_kodirovka.php

И, да, тут знающие люди сообщили, что 5.9 не работает под XP, качай 5.6
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
16.11.2017, 22:22  [ТС]
Качаю.....
А что за танцы с бубнами? Почему на Ming все работает, а тут треш какой то. Че мне код переписывать ?
0
 Аватар для icpu
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
16.11.2017, 22:30
MaximusL, потому что CP866. Задаёшь слишком много вопросов, на которые уже даны ответы в статье по ссылке.
А код переписывать, скорее всего, если и придётся, то незначительно.
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
17.11.2017, 09:13  [ТС]
Поставил 5.6 теперь выдает:
23:01:36: Выполняются этапы для проекта reactor2...
23:01:36: Не удалось создать каталог «C:\Qt\Ошибка в « Util.asciify("build-reactor2-Desktop_Qt_5_6_0_MSVC2015_32bit-Release")»: TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0x4c6af 40) is not a function»
Ошибка при сборке/установке проекта reactor2 (комплект: Desktop Qt 5.6.0 MSVC2015 32bit)
Во время выполнения этапа «qmake»
23:01:36: Прошло времени: 00:00.
Добавлено через 5 минут
"Проекты" и в открывшейся панели снимаешь галочку с "теневая сборка"....помогло

Добавлено через 10 часов 5 минут
Все запустил, собрал, на виртуалке Xp пишет что не Win32(((((( В чем может быть дело??
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.11.2017, 17:27
Теперь качайте 4.8.4 и не будет проблем =)).
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
17.11.2017, 17:56  [ТС]
Под 4.8. код переписывать надо, так как он не поддерживает С++. Хочу с последней версии.

Неужели нет решения?
По рекомендации из интернета прописать в проектном файле :
win32 {
QMAKE_LFLAGS += /SUBSYSTEM:CONSOLE,5.01
QMAKE_CXX += /D_USING_V110_SDK71_
LIBS *= -L"%ProgramFiles(x86)%/Microsoft SDKs/Windows/7.1A/Lib"
INCLUDEPATH += "%ProgramFiles(x86)%/Microsoft SDKs/Windows/7.1A/Include"
}
Не помогло....
Еще может как вариант сам VS2015 как то настроить надо???

Нужно поскорее решить эту проблему....((((((


Добавлено через 1 минуту
Чую это может помочь:

Типо
в нужный qmake.conf добавлял нужные правки, чтобы генерировался makefile правильный. Например, для линковщика надо указать правильную версию. qtbase/mkspecs/win32-msvc2012/qmake.conf: QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE",5.01" QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS",5.01"
Но что конкретно делать, не пойму....(
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
17.11.2017, 19:37  [ТС]
Чем черт не шутит , установил 4.8.4.
Установил по этой инструкции: http://blog.harrix.org/article/1130
Сначала ругался на QtSerialport.
Установил его по этой инструкции )) http://microtechnics.ru/qt-ust... erialport/

И оо божее... он выдал просто миллион ошибок ругаясь буквально на каждую строчку....

Ужос какой то, ни с какой стороны не получается решить проблему......
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
17.11.2017, 21:51  [ТС]
Ну вот до чего максимум я смог исправить, дальше идут проблемы с Qtimer. Методов которые есть в 5.9 нет в помине в 4.8 и это проблема, так как я не знаток.
Код :
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
#include "mainwindow.h"
#include <QMessageBox>
#include <QString>
#include <QDesktopWidget>
#include <QScreen>
#include <QMetaEnum>
//#include <unistd.h>
#include <errno.h>
#include "ui_mainwindow.h"
#include <QPixmap>
#include "dialog_settings.h"
#include "packet.h"
#include <qdebug.h>
 
 
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    num_time=0;
    num_temp=0;
    flag_but_on=0;
    packet_one= {254, 232, 0, 0, 0, 0, 0, 0, 0};
    QPixmap myPixmap_on( "C:/Users/leono/Desktop/reactor2/if_Circle_Green_34211.png" );
    QPixmap myPixmap_of( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Grey_34212.png" );
    QPixmap myPixmap_red( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Red_34214.png" );
 
    ui->setupUi(this);
 
    info = new Dialog_Settings(this);//Создаем окно с настройками Com порта,
    info->setVisible(false);//                                              но не отображаем.
 
    ui->lcdNumber_3->display("00:00");
    ui->lcdNumber_4->display("00:00");
 
    ui->label_4->setPixmap(myPixmap_red);
    ui->label_3->setPixmap(myPixmap_of);
 
    ui->spinBox->setMaximum(250);
    ui->spinBox_2->setMaximum(500);
 
    connect(ui->action_Com,SIGNAL(triggered(bool)),this,SLOT(settings_menu()));
    connect(ui->action_3,SIGNAL(triggered(bool)),this,SLOT(close()));
 
    connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(nasos_on()));
    connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(nasos_of()));
 
    connect(ui->pushButton_5,SIGNAL(clicked(bool)),this,SLOT(on_Button_clicked()));
    connect(this,SIGNAL(on()),this,SLOT(vizvat_taimer()));
    connect(this,SIGNAL(off()),this,SLOT(taimer_stop()));
 
    connect(ui->pushButton_2,SIGNAL(clicked(bool)),this,SLOT(disp_lcd_time()));
    connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(disp_lcd_temp()));
    connect(info, SIGNAL(duble_send_signal(QByteArray)), this, SLOT(save_str(QByteArray)));
    connect(this,SIGNAL(sendArray(QByteArray)),info,SIGNAL(writeData(QByteArray)));
 
    connect(this,SIGNAL(pomp_off(packet_big)),this,SLOT(put_in_array(packet_big)));
    connect(this,SIGNAL(pomp_on(packet_big)),this,SLOT(put_in_array(packet_big)));
 
 
}
 
MainWindow::~MainWindow()
{
    delete ui;
    qDebug("del");
}
void MainWindow::nasos_on()
{
    QPixmap myPixmap_on( "C:/Users/leono/Desktop/reactor2/if_Circle_Green_34211.png" );
    QPixmap myPixmap_of( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Grey_34212.png" );
    ui->label_3->setPixmap(myPixmap_on);
    ui->label_4->setPixmap(myPixmap_of);
 
 
    packet_one.on_of_pomp=1;
    packet_one.test_pask();
    emit pomp_on(packet_one);
    qDebug("idx1");
}
 
void MainWindow::nasos_of()
{
    QPixmap myPixmap_of( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Grey_34212.png" );
    QPixmap myPixmap_red( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Red_34214.png" );
    ui->label_4->setPixmap(myPixmap_red);
    ui->label_3->setPixmap(myPixmap_of);
 
    packet_one.on_of_pomp=0;
    packet_one.test_pask();
    emit pomp_off(packet_one);
    qDebug("idx2");
}
 
 
void MainWindow::settings_menu()
{
    info->setVisible(true);
}
 
 
void MainWindow::disp_lcd_time()
{
    num_time=ui->spinBox_2->value();
    ui->lcdNumber_4->display(QTime::fromMSecsSinceStartOfDay(num_time*60000).toString("hh:mm"));
 
}
 
void MainWindow::disp_lcd_temp()
{
    num_temp=ui->spinBox->value();
    ui->lcdNumber->display(num_temp);
}
 
void MainWindow::vizvat_taimer()
{
    timer = new QTimer(this);
    updater = new QTimer(this);
    updater->setSingleShot(false);
 
    connect(updater,SIGNAL(timeout()), this, SLOT(disp_lcd_temp_timer()));
    timer->setSingleShot(true);
    connect(timer, &QTimer::timeout, timer, &QObject::deleteLater);
    connect(timer, &QTimer::timeout, updater, &QObject::deleteLater);
    updater->start(1000);
    timer->start(num_time*60000);
}
 
void MainWindow::disp_lcd_temp_timer()
{
 
    QString text = QTime::fromMSecsSinceStartOfDay(timer->interval() - timer->remainingTime()).toString("hh:mm");
 
    if (((((timer->interval() - timer->remainingTime())/1000)) % 2) != 0)
        text[2] = ' ';
    ui->lcdNumber_3->display(text);
}
 
void MainWindow::on_Button_clicked()
{
    if(flag_but_on==0)
    {
        flag_but_on=1;
        qDebug("flag_but_on_1");
        ui->pushButton_5->setText("СТОП");
        emit on();
    }
    else if(flag_but_on==1)
    {
        flag_but_on=0;
        qDebug("flag_but_off_2");
        ui->pushButton_5->setText("ПУСК");
        emit off();
    }
}
 
void MainWindow::taimer_stop()
{
 
    qDebug("stop");
    updater->stop();
 
}
 
 
void MainWindow::save_str(QByteArray data)
{
    packet_big tmp;
    unsigned char* masstmp = (unsigned char* )&tmp;
    for(unsigned int i=0; i<sizeof(tmp); i++)
    {
        masstmp[i]=(unsigned char)data[i];
    }
    if(!tmp.test_pask())
    {
        packet_one=tmp;
        qDebug()<<" ONE byte:     "<<packet_one.start_byte_one<<"\n"<<"TWO byte:     " << packet_one.start_byte_two <<"\n"<<"TEMP byte:     "<< packet_one.temp_pomp<<"\n"<<"ON-OF byte:     "<<packet_one.on_of_pomp<<"\n"<<"CRC8 byte:     "<<packet_one.CRC8<<"\n";
    }
    ui->lcdNumber_5->display(packet_one.temp_pomp);
    if(packet_one.on_of_pomp==0)
    {
        QPixmap myPixmap_on( "C:/Users/leono/Desktop/reactor2/if_Circle_Green_34211.png" );
        QPixmap myPixmap_of( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Grey_34212.png" );
        QPixmap myPixmap_red( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Red_34214.png" );
        ui->label_4->setPixmap(myPixmap_red);
        ui->label_3->setPixmap(myPixmap_of);
 
    }
    else if(packet_one.on_of_pomp==1)
    {
        QPixmap myPixmap_on( "C:/Users/leono/Desktop/reactor2/if_Circle_Green_34211.png" );
        QPixmap myPixmap_of( "C:/Users/leono/Desktop/reactor2/icon/if_Circle_Grey_34212.png" );
        ui->label_3->setPixmap(myPixmap_on);
        ui->label_4->setPixmap(myPixmap_of);
 
    }
 
}
 
 
void  MainWindow::put_in_array(packet_big data)
{
 
    QByteArray tmp;
    unsigned char* masstmp = (unsigned char* )&data;
    qDebug()<<" QQQQQQQQQQQQQQQQQQQQQ     "<<packet_one.on_of_pomp;
    for(unsigned int i=0; i<sizeof(data); i++)
    {
        tmp[i]=masstmp[i];
    }
    emit sendArray(tmp);
}
Ошибки в скрине:
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
17.11.2017, 21:52  [ТС]
Тема насчет Qt 5.6. открыта .....но там неясно что вообще не так...(
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.11.2017, 22:58
Удивительно, какие только можно выдумать свистоперделки для такой элементарной вещи как таймер…вкл и выкл им не хватило.
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
17.11.2017, 23:51  [ТС]
Это да, но что делать хз((((

Добавлено через 23 минуты
Не вариант с 4.8 так как я убрал таймер вообще для эксперимента, там он еще простыню ошибок выдал, надо заново писать прогу на 4.8 , что на 5.9 мне с большим трудом далось.

Фак, неужели ни как нельзя на Xp перенести ???? я уже в отчаянии ....
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
18.11.2017, 00:04
4.8 пашет? SP3 поставлен для 5.6..?
1)Как вариант сделать нужные из стандартных для 4.8. с нуля. Ад?
2)Отослать знакомому собрать для вас в 5.6 для Xp говорили тут ведь что у кого то пашет…
3)Заказать фриланс собрать в 5.6 для Xp вашу прогу.
4)заказать в фриланс консультацию как настроить все это шаманство у себя у тех у кого пашет 5.6 на Xp.

Тоже давно мучился с разными Qt качал гигами мусор всякий…
Пока не уперся в 4.8. Даже просто glut не могу подключить…как только не извращался…
все больше убеждаюсь из шаманства типа этого
MinGW+C++ +GLUT+Qt Creator win32
что Qt Creator и сам Qt это кривые индусские поделки с кучей багов.
В студии я кинул 2 файла в папку и все пахало а тут это целая Эпопея.
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
18.11.2017, 00:08  [ТС]
Знакомых нет( а вот если кто то мог бы помочь и сказать цену пишите leonoffmaxim@gmail.com

Но хотелось бы самому конечно.
КОд переписывать конечно Ад.

Вопрос друго.
Я тоже уже качаю все подряд и скачал MSVC2010, в сети пишут что он без проблем под XP копилит. Так вот, в моем 5.6 в компиляторах он видит его, но выбрать его я не могу. В MaintenanceTool не появляется(((



4.8. не запускается, там надо все переделывать
Что за SP3 для 5.6?
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
18.11.2017, 00:36  [ТС]
Тааак, я не знаю что я сделал, но теперь на Xp при запуске не выдет ошибку, но просто не запускается. Ничего не говорит.......

Добавлено через 10 минут
Нет, опять тоже самое, короче я в ступоре, надеюсь кто нибудь поможет....

Добавлено через 3 минуты
Выяснилось,
Если в pro файле стоит
win32 {
QMAKE_LFLAGS += /SUBSYSTEM:CONSOLE,5.01
QMAKE_CXX += /D_USING_V110_SDK71_
LIBS *= -L"%ProgramFiles(x86)%/Microsoft SDKs/Windows/7.1A/Lib"
INCLUDEPATH += "%ProgramFiles(x86)%/Microsoft SDKs/Windows/7.1A/Include"
}
То приложение запускается, но не открывается, черное консольное окно просто открывается и быстро сворачивается.


Без него пишет что приложение не Win32...
Почему нормально не отображается ???
0
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
18.11.2017, 00:39  [ТС]
Удалил из pro сонсоль, теперь в Xp выдает ошибку :

0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
18.11.2017, 16:56
Цитата Сообщение от MaximusL Посмотреть сообщение
Что за SP3 для 5.6?
Service Pack 3 для Xp
Вдруг поможет…писали то Qt индусы =). Т.е. не ищите логической связи…
0
 Аватар для icpu
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
22.11.2017, 11:21
Разобрался в вопросе:
1) Добавить в .pro файл QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
2) Выполнить qmake.
3) Собрать как обычно. (Пересобирать не обязательно)
Всё. Можно запускать на ХРеньке. Проверено на WindowsXP SP3. Гарантированно работает до 5.6.2, начиная с 5.7 вылетает на отсутствии библиотечной функции.

Добавлено через 1 минуту
Для особо продвинутых: это косяк виндомастеров, именно они сделали для MSVC2012+ отдельную сборку под ХРень.

Добавлено через 6 минут
Wyn, закрепи это в своём FAQ, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2017, 11:21

Сборка проекта под MacOS работая на Windows
Каким образом можно собрать проект под MacOS, если я сижу на Windows и виртуальную машину с Mac-ом ставить не хочу? :) Есть ли какой - то...

Сборка MySQL драйверов под Windows для mingw
При выполнении C:\Qt\Qt5.1.0\5.1.0-beta1\Src\qtbase\configure.exe Выдает ошибку: Error: Creating a shadow build of Qt requires ...

Сборка OpenSSL под Windows
Всем доброго времени суток! Возникла такая проблема никак не могу её собрать. Перерыл кучу сайтов, делал как там написано и толку ноль....

Сборка проекта под Windows, Linux и MacOS и тестирование
Есть приложение с графическим интерфейсом которое нужно собрать под поддерживаемые версии Windows, Linux и MacOS и протестировать их на...

Epson L4150: под Windows XP работает, под Windows 7 не видит
Попросили меня установить новенький принтер. Написано на нём: Epson L4150. Распаковал, краску залил, кнопки тыкнул, страничку распечатал....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru