qt的cmake配置

要求:boost的msvc版本的动态库静态链接版本,编译器版本qt的msvc编译器

cmake_minimum_required(VERSION 3.27)

project(reader-ai1)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

if (WIN32)
    add_compile_definitions(NOMINMAX _USE_MATH_DEFINES)
endif()

if (MSVC)
    add_compile_options(/utf-8 /Zc:preprocessor /EHsc /bigobj /WX /Qspectre-)
else()
    if (WIN32)
        add_compile_options(-finput-charset=utf-8 -fexec-charset=utf-8)
    endif()
    add_compile_options(-Werror -Wall)
endif()

# 设置 Qt 的路径,请确保此路径与实际安装的 Qt 版本一致
set(CMAKE_PREFIX_PATH "D:\\QT\\6.5.3\\msvc2019_64")

# 设置运行时库(Debug/Release 分别使用 /MDd 和 /MD)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
endif()
if (CMAKE_BUILD_TYPE STREQUAL "Release")
    set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
endif()

# 查找 Qt6
find_package(Qt6 REQUIRED COMPONENTS Core Widgets Network)
# 收集所有 .cpp 源文件
file(GLOB sources *.cpp)
   
file(GLOB resources *.qrc)
# 添加可执行目标
add_executable(04_mvc_role ${sources} ${resources})
target_link_libraries(04_mvc_role PRIVATE Qt6::Core Qt6::Widgets Qt6::Network)
target_include_directories(04_mvc_role PRIVATE .)

# Boost 配置
set(Boost_USE_STATIC_LIBS   ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(BOOST_ROOT "D:/boost_built")
set(BOOST_LIBRARYDIR "D:/boost_built/lib")

# 查找 Boost (filesystem 和 system)
find_package(Boost REQUIRED COMPONENTS filesystem system)
if (Boost_FOUND)
    target_include_directories(04_mvc_role PRIVATE ${Boost_INCLUDE_DIRS})
    target_link_libraries(04_mvc_role PRIVATE Boost::filesystem Boost::system)
else()
    message(FATAL_ERROR "Boost not found!")
endif()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值