Автор Тема: Simply Linux 10 + C++ + Qt5  (Прочитано 379 раз)

Оффлайн yuri84

  • Давно тут
  • **
  • Сообщений: 63
Simply Linux 10 + C++ + Qt5
« : 24.06.2022 13:32:40 »
Нашёл пример программы Hello World на qt5.
Вот код программы:
#include <QtWidgets>
int main(int argc, char** argv)
{
 QApplication app(argc, argv);
 QLabel lbl("Hello, World !");
 lbl.show();
 return app.exec();
}

У меня есть старая книжка по qt4.
По ней создал pro-файл:
SOURCE=main.cpp
CONFIG+=qt warn_on release

Попробовал собрать проект командой:
qmake -o Makefile hello_world.pro
bash: qmake: команда не найдена

вот содержимое каталога библиотеки:
ls /usr/include/qt5
Enginio                   QtHunspellInputMethod        QtScript
Qca-qt5                   QtInputSupport               QtScriptTools
Qt3DAnimation             QtKmsSupport                 QtScxml
Qt3DCore                  QtLinuxAccessibilitySupport  QtSensors
Qt3DExtras                QtLocation                   QtSerialBus
Qt3DInput                 QtMultimedia                 QtSerialPort
Qt3DLogic                 QtMultimediaGstTools         QtServiceSupport
Qt3DQuick                 QtMultimediaQuick            QtSoap
Qt3DQuickAnimation        QtMultimediaWidgets          QtSql
Qt3DQuickExtras           QtNetwork                    QtSvg
Qt3DQuickInput            QtNetworkAuth                QtTest
Qt3DQuickRender           QtNfc                        QtTextToSpeech
Qt3DQuickScene2D          QtOpenGL                     QtThemeSupport
Qt3DRender                QtOpenGLExtensions           QtUiPlugin
QtAccessibilitySupport    QtPacketProtocol             QtUiTools
QtBluetooth               QtPdf                        QtVirtualKeyboard
QtCharts                  QtPdfWidgets                 QtVulkanSupport
QtConcurrent              QtPlatformCompositorSupport  QtWaylandClient
QtCore                    QtPlatformHeaders            QtWaylandCompositor
QtDataVisualization       QtPositioning                QtWebChannel
QtDBus                    QtPositioningQuick           QtWebEngine
QtDesigner                QtPrintSupport               QtWebEngineCore
QtDesignerComponents      QtQml                        QtWebEngineWidgets
QtDeviceDiscoverySupport  QtQmlDebug                   QtWebKit
QtEdidSupport             QtQmlModels                  QtWebKitWidgets
QtEglFSDeviceIntegration  QtQmlWorkerScript            QtWebSockets
QtEglSupport              QtQuick                      QtWebView
QtEventDispatcherSupport  QtQuickControls2             QtWidgets
QtFbSupport               QtQuickParticles             QtX11Extras
QtFeedback                QtQuickShapes                QtXcb
QtFontDatabaseSupport     QtQuickTemplates2            QtXkbCommonSupport
QtGamepad                 QtQuickTest                  QtXml
QtGlxSupport              QtQuickWidgets               QtXmlPatterns
QtGui                     QtRemoteObjects
QtHelp                    QtRepParser

Скачал Qt Creator.
Он не видит файлы библиотеки.

Отсюда вопросы:
Какой пакет нужно скачать для программы qmake?
Как настроить систему, чтобы была видна библиотека?

Онлайн ProfessorNavigator

  • Давно тут
  • **
  • Сообщений: 212
Re: Simply Linux 10 + C++ + Qt5
« Ответ #1 : 24.06.2022 14:18:54 »
Попробуйте qt5-base-devel. Касательно книг вот это.

Оффлайн yuri84

  • Давно тут
  • **
  • Сообщений: 63
Re: Simply Linux 10 + C++ + Qt5
« Ответ #2 : 24.06.2022 14:36:56 »
Пакет qt5-base-devel помечен, как установленный.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Simply Linux 10 + C++ + Qt5
« Ответ #3 : 24.06.2022 15:12:24 »
qmake-qt5

Оффлайн yuri84

  • Давно тут
  • **
  • Сообщений: 63
Re: Simply Linux 10 + C++ + Qt5
« Ответ #4 : 24.06.2022 15:13:13 »
Разобрался с qmake. Вместо него есть программа qmake-qt5.
Теперь возникает ошибка при выполнении Makefile:

qmake-qt5 -o Makefile hello_world.pro

make all
g++ -Wl,-O1 -o hello_world    /usr/lib64/libQt5Gui.so /usr/lib64/libQt5Core.so -lGL -lpthread   
ld: /usr/lib64/gcc/x86_64-alt-linux/10/../../../../lib64/Scrt1.o: в функции «_start»:
/usr/src/RPM/BUILD/glibc-2.32-alt4/csu/../sysdeps/x86_64/start.S:104: неопределённая ссылка на «main»
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make: *** [Makefile:340: hello_world] Ошибка 1

Оффлайн yuri84

  • Давно тут
  • **
  • Сообщений: 63
Re: Simply Linux 10 + C++ + Qt5
« Ответ #5 : 24.06.2022 15:45:34 »
Мне на другом форме посоветовали изменить pro-файл:

QT += widgets
CONFIG += console
TARGET = minimal
SOURCES = main.cpp

Теперь ошибок нет. Программа работает. Всем спасибо!