# 强制所有编译、设计时生成均使用x64,禁止Win32 set(CMAKE_GENERATOR_PLATFORM x64 CACHE STRING "强制x64平台,禁用Win32") set(CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCH x64) # 关闭VS自动Win32设计时预生成 set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD OFF) # 清除32位Strawberry Perl路径干扰 list(REMOVE_ITEM CMAKE_INCLUDE_PATH "D:/softwaresInstallDir/strawberry-perl-5.22.1.3-32bit/c/include") list(REMOVE_ITEM CMAKE_LIBRARY_PATH "D:/softwaresInstallDir/strawberry-perl-5.22.1.3-32bit/c/lib") project(Updater) set(SRC main.cpp UpdaterLogic.h UpdaterLogic.cpp UpdateTransaction.h UpdateTransaction.cpp ) add_executable(Updater ${SRC}) if(WIN32) set_target_properties(Updater PROPERTIES WIN32_EXECUTABLE TRUE) endif() # 关键:给Updater自身添加OpenSSL头文件目录,解决#include openssl/*找不到 target_include_directories(Updater PRIVATE ${OPENSSL_INC}) # 仅链接Common和Qt,OpenSSL库由Common INTERFACE自动传递 target_link_libraries(Updater PRIVATE Common Qt5::Core Qt5::Network Qt5::Gui Qt5::Widgets ) # Qt部署脚本 if(WIN32) get_target_property(QT_WINDEPLOYQT_EXE Qt5::qmake IMPORTED_LOCATION) get_filename_component(QT_BIN_PATH "${QT_WINDEPLOYQT_EXE}" DIRECTORY) set(WINDEPLOYQT "${QT_BIN_PATH}/windeployqt.exe") add_custom_command(TARGET Updater POST_BUILD COMMAND ${WINDEPLOYQT} $,--debug,--release> $ ) endif()