Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to build with Qt 5.15 and GCC 11.2 #18

Open
Selorax opened this issue Dec 31, 2022 · 5 comments
Open

Failed to build with Qt 5.15 and GCC 11.2 #18

Selorax opened this issue Dec 31, 2022 · 5 comments

Comments

@Selorax
Copy link

Selorax commented Dec 31, 2022

$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_DEPRECATED_WARNINGS -DPAL_QT -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt/mkspecs/linux-g++ -Isrc -I/usr/lib64/qt/include/QtCore -I/usr/lib64/qt/include/QtGui -I/usr/lib64/qt/include/QtMultimedia -I/usr/lib64/qt/include -Ibuild/moc -Ibuild/ui -I. -o build/obj/qtChoosePlatformDialog.o src/qt/qtChoosePlatformDialog.cpp
In file included from src/qt/qtChoosePlatformDialog.cpp:21:
src/qt/qtChoosePlatformDialog.h:43:52: error: ‘QModelIndex’ does not name a type
   43 |     void on_platformListWidget_doubleClicked(const QModelIndex &index);
      |                                                    ^~~~~~~~~~~
src/qt/qtChoosePlatformDialog.cpp:69:6: error: no declaration matches ‘void ChoosePlatformDialog::on_platformListWidget_doubleClicked(const QModelIndex&)’
   69 | void ChoosePlatformDialog::on_platformListWidget_doubleClicked(const QModelIndex &index)
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from src/qt/qtChoosePlatformDialog.cpp:21:
src/qt/qtChoosePlatformDialog.h:43:10: note: candidate is: ‘void ChoosePlatformDialog::on_platformListWidget_doubleClicked(const int&)’
   43 |     void on_platformListWidget_doubleClicked(const QModelIndex &index);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/qt/qtChoosePlatformDialog.h:32:7: note: ‘class ChoosePlatformDialog’ defined here
   32 | class ChoosePlatformDialog : public QDialog
      |       ^~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:1861: build/obj/qtChoosePlatformDialog.o] Error 1
@Selorax Selorax changed the title Failed to build with Qt 5.15 Failed to build with Qt 5.15 and GCC 11.2 Jan 1, 2023
@Selorax
Copy link
Author

Selorax commented Jan 1, 2023

Oops, I was building with Qt4 by mistake.
The command in readme suggested to use qmake which used headers from /usr/include/qt, while the actual command was qmake-qt5 which used headers from /usr/include/qt5

@Selorax
Copy link
Author

Selorax commented Jan 1, 2023

Отдельный баг-репорт не хочу делать, поэтому вот. В мануале .rtf опечатка:

volume – громкость звука, может принимать значения от 1 до 7 (6 — максимальная htrjvtyletvfz громкость, при значении 7 возможны щелчки и искажения звука).

Кстати, не лучший формат для простого текста, лучше было взять txt или ещё что-нибудь, так как я даже не знаю чем этот файл в линуксе открывать кроме тяжелого libreoffice.

@vpyk
Copy link
Owner

vpyk commented Jan 2, 2023

Спасибо за багрепорт!

Версия qmake по умолчанию, вероятно, зависит от дистрибутива. Там, где я обычно тестирую, qmake имеет правильную версию, а версия для Qt4 присутствует под именем qmake-qt4. Сделаю замечание по этому поводу в инструкции по сборке. А по хорошему, нужно бы, конечно, перейти на cmake...

Опечатку исправлю, что же касается формата - форматирование терять я не хочу; может быть достаточно было бы хотя бы возможностей того же markdown, но также хотелось бы, чтобы документ открывался в любых поддерживаемых целевых платформах, в том числе достаточно старых, например Windows XP. Особой альтернативы rtf я здесь не вижу, разве что html...

@Selorax
Copy link
Author

Selorax commented Jan 3, 2023

А по хорошему, нужно бы, конечно, перейти на cmake...

Но зачем? qmake вроде работает нормально.


Для документации есть много форматов. Я бы предложил выбрать какой-нибудь формат, который вам лично больше нравится, из тех где исходник в plain text и редактируется без специального редактора, что-нибудь вроде AsciiDoc, troff, mdoc, markdown и подобных. А потом уже можно конвертировать в rtf, html и прочие форматы автоматически. Главное, взять текстовый формат исходника, который можно прочитать даже, не имея софта.


По-моему, в документации не помешало бы описание встроенного дебаггера. Назначение некоторых полей не совсем понятно.


А насколько сложно было бы добавить к эмулятору дополнительные устройства управления кроме клавиатуры и дисплея, например клавиатуру и семисегментный индикатор от ЮТ-88 или панель с тумблерами и светодиодами как в альтаире?

@vpyk
Copy link
Owner

vpyk commented Jan 4, 2023

Cmake обладает большей функциональностью и уже используется по умолчанию в Qt6, qmake был объявлен устаревшим.

Идея насчет документации принята, подумаю. В любом случае, это требует дополнительных усилий по преобразованию формата, а пока есть незавершенные более приоритетные доработки. Документация, к сожалению, далеко не полная, действительно описание отладчика пока отсутствует, со временем добавлю, также уже в ближайших версиях в отладчике появится меню и панель инструментов.

Степень сложности добавления вышеупомянутых устройств сильно зависит от конкретной реализации. Например, экранная клавиатура в эмуляторе не предусмотрена, это потребует бОльших усилий, чем просто назначить клавиши клавишам PC. Что же касается семисегментного индикатора, то это не выглядит слишком сложным, просто сделать еще один вариант отрисовщика экрана. Но, опять-таки, есть нюансы, а наработок в этом направлении нет, оттолкнуться в данный момент не от чего...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants