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

如何在CMake中仅生成静态库而不生成可执行文件

CMake仅生成静态库的实现方案

CMake的add_library指定STATIC参数时,会自动调用对应编译器的静态库打包工具,GCC环境下就是自动执行ar rsv相关命令生成.a静态库,无需手动配置打包规则。

你删除add_executable配置后报错,通常是两个原因导致:

  • 没有同步删除对应的target_link_libraries(myexe mylib)行,该行引用了已被删除的myexe目标,会触发目标不存在的错误
  • 你的CMakeLists.txt缺少基础必填配置,如CMake最低版本声明、项目声明

最小可运行配置

你只需要保留静态库的相关声明即可,完整示例如下:

# 按需调整最低支持的CMake版本
cmake_minimum_required(VERSION 3.10)
# 自定义项目名称
project(mylib_builder)

# 声明静态库目标
add_library(mylib STATIC file1.cpp file2.cpp)

编译操作说明

配置完成后按常规流程生成构建文件即可:

  • 命令行通用编译命令(适配所有构建系统):执行cmake --build . --target mylib,直接指定编译静态库目标
  • 如果你使用Makefile构建体系,也可以直接执行make mylib完成编译

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:36:05