Qt6.5.0. Сборка помимо .exe файла генерирует libdll.a файл
собирал Qt6.5.0 из исходников. Компилятор: mingw13.2.0 posix seh msvcrt брал здесь Cmake: 3.28.20231208-g39b9808 Ninja: 1.11.1
Выполненные шаги:
configure.bat -static -static-runtime -release -qpa windows -c++std c++17 -cmake-generator "Ninja" -accessibility -no-pch -linker lld -opensource -confirm-licensecmake --build . --parallelcmake --install .- Создал проект Qt Widgets в Clion: CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
project(untitled)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_PREFIX_PATH "D:/qtBuilds/6.5.0posix-seh-msvcrt/lib/cmake")
find_package(Qt6 COMPONENTS
Core
Gui
Widgets
REQUIRED)
add_executable(untitled main.cpp)
target_link_libraries(untitled
Qt::Core
Qt::Gui
Qt::Widgets
)
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QPushButton button("Hello world!", nullptr);
button.resize(200, 100);
button.show();
return QApplication::exec();
}
После сборки данного проекта, в директории cmake-build-debug помимо untitled.exe создаётся файл libuntitled.dll.a. Заметил, что он создаётся, если в команде target_link_libraries есть Qt::Widgets. Если оставить только Qt::Core и Qt::Gui, то после сборки данный файл не создаётся. На ПК (Win11 23H2 x64), где собираю проект, exe-шник запускается и без этого файла в директории, а на другом ПК (Win10 x64) при запуске возникает ошибка: 
Почему данный файлик создаётся и как можно попробовать исправить данную проблему?
Ответы (1 шт):
Проблема решилась путём сборки qt компилятором, с thread model=win32 и добавлением в CMakeLists.txt строки set(CMAKE_CXX_FLAGS "-static -lpthread").