У меня есть приложение, что его проект создан с использованием CMake
в Qt5.7
, поэтому, когда import QtQuick.Controls 2.0
приложение не удалось загрузить со следующей ошибкой:импорт QtQuick.Controls 2.0 не работает - QQmlApplicationEngine не удалось загрузить компоненту
plugin cannot be loaded for module "QtQuick.Controls": Cannot load library C:\Qt\Qt5.7.0\5.7\msvc2015\qml\QtQuick\Controls.2\qtquickcontrols2plugind.dll: The specified module could not be found.
CMakeLists .txt
set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.7.0\\5.7\\msvc2015")
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5Core REQUIRED)
find_package(Qt5Qml)
find_package(Qt5Quick)
find_package(Qt5QuickControls2)
...
add_executable(MyApp ${SRC} ${HEADER} ${RESOURCES})
target_link_libraries(MyApp
Qt5::WinMain
Qt5::Core
Qt5::Qml
Qt5::Quick
Qt5::QuickControls2
)
DLL
файл загружен в студии визуального вывода:
'MyApp.exe' (Win32): Loaded 'C:\Qt\Qt5.7.0\5.7\msvc2015\qml\QtQuick.2\qtquick2plugind.dll'. Symbols loaded.
'MyApp.exe' (Win32): Loaded 'C:\Qt\Qt5.7.0\5.7\msvc2015\qml\QtQuick\Controls.2\qtquickcontrols2plugind.dll'. Symbols loaded.
'MyApp.exe' (Win32): Unloaded 'C:\Qt\Qt5.7.0\5.7\msvc2015\qml\QtQuick\Controls.2\qtquickcontrols2plugind.dll'
Какие файлы у вас есть в 'C: \ Qt \ Qt5.7.0 \ 5.7 \ msvc2015 \ qml \ QtQuick \ Controls.2'? Похоже, он пытается найти отладочную версию плагина, но имеет ли у вас установку Qt ее доступность? – jpnurmi
Да, это файл dll находится в пути и загружен в visual studio (я вижу в intellisense, его символы загружены), но не загружает приложение. –
Почему-то сразу выгружает плагин? Я не знаю, что может это сделать. Что произойдет, если вы откроете плагин с помощью Dependency Walker? Является ли это предустановленной установкой Qt у установщика? Если да, работает ли пример Qt Quick Controls 2 Gallery? – jpnurmi