Statische Windows-Verknüpfung (Qt-Plugin)C++

Programme in C++. Entwicklerforum
Guest
 Statische Windows-Verknüpfung (Qt-Plugin)

Post by Guest »

Ich habe eine Treiber-DLL für C++. Es verwendet Qt::Gui, Netzwerk, Kern und Widgets. Jetzt gibt es geteilte. Ich könnte sie statisch machen und sie statisch mit .dll verknüpfen, indem ich mit dem Conan-Paketmanager mit „qt:shared=False“ baue. Aber im Ergebnisordner (nach der Installation unseres Produkts) gibt es den Ordner „Plattformen“ und die Datei qwindows.dll, die auch von der DLL verwendet wird. Ich muss es auch statisch verknüpfen. Wenn ich qwindows.dll vorübergehend lösche, erhalte ich Folgendes:
Fehler
Ein Code in Cmakelists.txt wie find_library (LIB qwindows.lib PATH/TO /LIB) und dann target_link_libraries (.... LIB) funktioniert nicht.
Ich stelle einige cmakelists zur Verfügung:
Root cmakelists (einige interessante Zeichenfolgen):

Code: Select all

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O3 -Wall -Wextra -Waddress -Wpedantic -Wfatal-errors")
if(${FC_CI_BUILD} STREQUAL "OFF")
set(Qt5_DIR ${CONAN_QT_ROOT})
set(sentry_DIR ${CONAN_SENTRY-NATIVE_ROOT})
list(APPEND CMAKE_FIND_ROOT_PATH
${Qt5_DIR}
${CONAN_CAF_ROOT}
${CONAN_PROTOBUF_ROOT}
${CONAN_FRUIT_ROOT}
${CONAN_OPENSSL_ROOT}
${CONAN_BOOST_ROOT}
)
set(Boost_USE_STATIC_LIBS ON)
endif()
find_package(Qt5 COMPONENTS Core Network Widgets Gui REQUIRED)
Treiberziel

Code: Select all

project(driver VERSION ${FC_DRIVER_VERSION})
include_directories(${PROJECT_BINARY_BIN})
set(QT_UI_DRV
driver/ui/properties.ui
driver/ui/kkt_settings.ui
driver/ui/about.ui
driver/ui/add_picture_in_cliche.ui
)
set(QT_HDRS_DRV
driver/ui/properties.h
driver/ui/kkt_settings.h
driver/ui/about.h
driver/ui/add_picture_in_cliche.h
)
set(QT_DRV_RCC
driver/ui/driver.qrc
driver/duktape/scripts/driver_scripts.qrc
)
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL Android)
find_package(Qt5 COMPONENTS Widgets Gui REQUIRED)
include(FiscalCoreQt5Widgets)
fc_qt5_wrap_ui(QT_UI_DRV_WRAPPED ${QT_UI_DRV} FOLDER driver/ui)
qt5_wrap_cpp(QT_SRCS_DRV_WRAPPED ${QT_HDRS_DRV})
endif()
qt5_add_resources(QT_DRV_RCC_WRAPPED ${QT_DRV_RCC})

set(DRIVER_SRCS
*.cpp
${QT_UI_DRV_WRAPPED}
${QT_SRCS_DRV_WRAPPED}
${QT_DRV_RCC_WRAPPED}
)
list(APPEND FISCAL_CORE_DRIVER_SRCS
driver/ui/properties.cpp
driver/ui/kkt_settings.cpp
driver/ui/about.cpp
driver/ui/add_picture_in_cliche.cpp
${QT_HDRS_DRV}
standard_path_windows.cpp
)
add_library(${PROJECT_NAME} SHARED ${FISCAL_CORE_DRIVER_SRCS})

set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)
target_compile_definitions(${PROJECT_NAME} PUBLIC SPDLOG_WCHAR_FILENAMES)

set(FISCAL_CORE_DRIVER_DEPS
Qt5::Core
Qt5::Network
Qt5::Gui
Qt5::Widgets
${FRUIT_LIBRARY}
${CAF_LIBRARIES}
${Protobuf_LIBRARIES}
${CAF_EXTRA_LDFLAGS}
Boost::filesystem
Boost::fiber
Boost::locale
duktape
${PNG_LIBRARIES}
)

target_link_libraries(${PROJECT_NAME} PRIVATE ${FISCAL_CORE_DRIVER_DEPS})
Ich habe versucht:
  • Qt5::QWindowsIntegrationPlugin hinzugefügt
  • find_library (qwindows.lib) wie oben erwähnt

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • Statische Verknüpfung gegen dynamische Verknüpfung
    by Anonymous » » in C++
    0 Replies
    17 Views
    Last post by Anonymous
  • Statische Windows-Verknüpfung (Qt-Plugin)
    by Guest » » in C++
    0 Replies
    12 Views
    Last post by Guest
  • Statische Verknüpfung von Libsodium
    by Guest » » in C++
    0 Replies
    11 Views
    Last post by Guest
  • Statische Verknüpfung von Libsodium
    by Guest » » in C++
    0 Replies
    19 Views
    Last post by Guest
  • Fehler auflösen Plugin [ID: 'dev.flutter.flutter-plugin-loader', Version: '1.0.2']
    by Anonymous » » in Android
    0 Replies
    16 Views
    Last post by Anonymous