[英]CMake link Qt5::Svg but not see by QImageReader
我最近更換了我的電腦(Windows 10),所以我重新安裝了 CLion 和 Qt(使用 CMake 編譯)。 但是我的一個項目不再起作用了。
我已經將 Qt5::Svg 添加到 CMake 中,它可以編譯但應用程序中沒有出現 SVG。 如果我嘗試使用 QImageReader::supportedImageFormats(),則不會列出“SVG”。
我在構建目錄中有 Qt5Svgd.dll。
這是我的 CMake 配置:
cmake_minimum_required(VERSION 3.16)
project(NBTModifier)
set(CMAKE_CXX_STANDARD 20)
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Svg REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
include_directories(${CMAKE_BINARY_DIR})
add_executable(
NBTModifier
main.cpp
MainWindow/MainWindow.ui MainWindow/MainWindow.h MainWindow/MainWindow.cpp
icons/breeze.qrc icons/breeze-dark.qrc
)
target_link_libraries(NBTModifier Qt5::Widgets Qt5::Svg)
我錯過了什么 ?
編輯:根據alexandre 的建議,我運行 DependencyWalker:我的“NBTModifier.exe”似乎不依賴於 Qt5Svgd.dll。 它解釋了為什么 QImageReader 不顯示它。
那么為什么 CMake 沒有將 Qt5Svg 鏈接到我的應用程序?
要在您的應用程序中顯示 SVG 圖像(即圖標),您需要相應的 imageformat 插件,該插件正在運行時加載(這就是 DependenyWalker 未顯示的原因)。 查看您的QTDIR/plugins/imageformats
目錄,並查找qsvg.dll
或libqsvg.dll
,如果需要,將其復制到您的運行時目錄中。 有關相應文檔,請參閱https://doc.qt.io/archives/qt-5.11/windows-deployment.html#qt-plugins 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.