Я пытаюсь настроить проект QT с помощью CMake (а не с помощью QT Creator).
В настоящее время я пытаюсь создать минимальный рабочий пример, который показывает просто пустое окно. Мой текущий код основан (скорее скопирован) на этом руководстве из официальной (?) документации и на этом ответе другого пользователя на аналогичный вопрос.
Затем я запускаю следующие три команды:
cmake .
cmake --build .
.\Debug\helloworld.exe
Но ничего не происходит (при запуске программы первые две команды работают как положено). Если я помещу код из main.cpp в существующий проект QT Creator, он будет работать и показывать пустое окно. Кто-нибудь может сказать мне, чего мне не хватает?
main.cpp
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
//Option 1, like in the mentioned stackoverflow answer
//QWidget window;
//Option 2, to test If maybe the QWidget above was the problem
QMainWindow window;
window.setWindowTitle("Test");
window.show();
return app.exec();
}
CMakeList.txt
cmake_minimum_required(VERSION 3.16)
project(helloworld VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Without this line, cmake does not find the package
set(CMAKE_PREFIX_PATH "C:/Qt/6.3.1/msvc2019_64")
find_package(Qt6 REQUIRED COMPONENTS Widgets)
qt_standard_project_setup()
add_executable(helloworld
main.cpp
)
target_link_libraries(helloworld PRIVATE Qt6::Widgets)
set_target_properties(helloworld PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
РЕДАКТИРОВАТЬ:
Как предложил Аамир, я создал дополнительную папку сборки. Вывод трех команд следующий:
И еще: если я заменю код в main.cpp простой программой «Hello World», она будет работать нормально. Поэтому я предположил, что отсутствующие/неисправные части в первой команде cmake не являются проблемой. Или я ошибаюсь в этом вопросе?
PS H:\Coding\QT_Tic_Tac_toe> mkdir build
Directory: H:\Coding\QT_Tic_Tac_toe
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 19/08/2022 10:11 build
PS H:\Coding\QT_Tic_Tac_toe> cd .\build\
PS H:\Coding\QT_Tic_Tac_toe\build> cmake ..
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19043.
-- The CXX compiler identification is MSVC 19.32.31332.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- Configuring done
-- Generating done
-- Build files have been written to: H:/Coding/QT_Tic_Tac_toe/build
PS H:\Coding\QT_Tic_Tac_toe\build> cmake --build .
Microsoft (R) Build Engine version 17.2.1+52cd2da31 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Checking Build System
Automatic MOC and UIC for target helloworld
Building Custom Rule H:/Coding/QT_Tic_Tac_toe/CMakeLists.txt
mocs_compilation_Debug.cpp
main.cpp
Generating Code...
helloworld.vcxproj -> H:\Coding\QT_Tic_Tac_toe\build\Debug\helloworld.exe
Building Custom Rule H:/Coding/QT_Tic_Tac_toe/CMakeLists.txt
PS H:\Coding\QT_Tic_Tac_toe\build> .\Debug\helloworld.exe
PS H:\Coding\QT_Tic_Tac_toe\build>
Подробнее здесь: https://stackoverflow.com/questions/734 ... with-cmake
Создание проекта QT с помощью CMake ⇐ C++
Программы на C++. Форум разработчиков
1771840980
Anonymous
Я пытаюсь настроить проект QT с помощью CMake (а не с помощью QT Creator).
В настоящее время я пытаюсь создать минимальный рабочий пример, который показывает просто пустое окно. Мой текущий код основан (скорее скопирован) на этом руководстве из официальной (?) документации и на этом ответе другого пользователя на аналогичный вопрос.
Затем я запускаю следующие три команды:
cmake .
cmake --build .
.\Debug\helloworld.exe
Но ничего не происходит (при запуске программы первые две команды работают как положено). Если я помещу код из main.cpp в существующий проект QT Creator, он будет работать и показывать пустое окно. Кто-нибудь может сказать мне, чего мне не хватает?
main.cpp
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
//Option 1, like in the mentioned stackoverflow answer
//QWidget window;
//Option 2, to test If maybe the QWidget above was the problem
QMainWindow window;
window.setWindowTitle("Test");
window.show();
return app.exec();
}
CMakeList.txt
cmake_minimum_required(VERSION 3.16)
project(helloworld VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Without this line, cmake does not find the package
set(CMAKE_PREFIX_PATH "C:/Qt/6.3.1/msvc2019_64")
find_package(Qt6 REQUIRED COMPONENTS Widgets)
qt_standard_project_setup()
add_executable(helloworld
main.cpp
)
target_link_libraries(helloworld PRIVATE Qt6::Widgets)
set_target_properties(helloworld PROPERTIES
WIN32_EXECUTABLE ON
MACOSX_BUNDLE ON
)
[b]РЕДАКТИРОВАТЬ:[/b]
Как предложил Аамир, я создал дополнительную папку сборки. Вывод трех команд следующий:
И еще: если я заменю код в main.cpp простой программой «Hello World», она будет работать нормально. Поэтому я предположил, что отсутствующие/неисправные части в первой команде cmake не являются проблемой. Или я ошибаюсь в этом вопросе?
PS H:\Coding\QT_Tic_Tac_toe> mkdir build
Directory: H:\Coding\QT_Tic_Tac_toe
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 19/08/2022 10:11 build
PS H:\Coding\QT_Tic_Tac_toe> cd .\build\
PS H:\Coding\QT_Tic_Tac_toe\build> cmake ..
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19043.
-- The CXX compiler identification is MSVC 19.32.31332.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- Configuring done
-- Generating done
-- Build files have been written to: H:/Coding/QT_Tic_Tac_toe/build
PS H:\Coding\QT_Tic_Tac_toe\build> cmake --build .
Microsoft (R) Build Engine version 17.2.1+52cd2da31 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Checking Build System
Automatic MOC and UIC for target helloworld
Building Custom Rule H:/Coding/QT_Tic_Tac_toe/CMakeLists.txt
mocs_compilation_Debug.cpp
main.cpp
Generating Code...
helloworld.vcxproj -> H:\Coding\QT_Tic_Tac_toe\build\Debug\helloworld.exe
Building Custom Rule H:/Coding/QT_Tic_Tac_toe/CMakeLists.txt
PS H:\Coding\QT_Tic_Tac_toe\build> .\Debug\helloworld.exe
PS H:\Coding\QT_Tic_Tac_toe\build>
Подробнее здесь: [url]https://stackoverflow.com/questions/73410315/creating-a-qt-project-with-cmake[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия