You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMake中为Windows系统添加专属链接库(跨平台适配)

CMake添加Windows专属链接库的实现方法

要在Windows构建时给目标追加专属链接库,核心是利用CMake的系统条件判断功能,以下是两种常用实现方式:

方式一:显式条件判断(直观易懂)

先添加通用链接库,再通过WIN32条件判断追加Windows专属库:

# 替换YourTargetName为你实际的项目目标名称(如add_executable定义的名称)
TARGET_LINK_LIBRARIES(YourTargetName
    LIB1
    LIB2
    LIB3
)

# 仅在Windows系统下添加专属链接库
if(WIN32)
    # 替换为你需要的Windows库,比如user32、kernel32等
    TARGET_LINK_LIBRARIES(YourTargetName
        user32
        kernel32
    )
endif()
  • WIN32是CMake内置的系统判断条件,会匹配所有Windows环境(32/64位均适用)
  • 若需针对Visual Studio编译器精准适配,可将if(WIN32)替换为if(MSVC)

方式二:生成器表达式(简洁紧凑)

用CMake生成器表达式直接嵌入链接库列表,实现条件化添加:

TARGET_LINK_LIBRARIES(YourTargetName
    LIB1
    LIB2
    LIB3
    # 仅当平台为Windows时,添加后面的专属库
    $<$<PLATFORM_ID:Windows>:user32;kernel32>
)

生成器表达式$<$<PLATFORM_ID:Windows>:...>会在CMake生成构建文件时自动判断平台,符合条件才会将指定库加入链接列表。

两种方法效果一致,可根据个人习惯和项目复杂度选择:显式判断适合需要额外逻辑的场景,生成器表达式则更适合简单的平台适配需求。

内容的提问来源于stack exchange,提问作者JKola1042

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:52:44