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

Windows11 x64下构建libgit2失败求助:CMake报无目标源文件错

在Windows 11 x64上构建libgit2解决"No SOURCES given to target"错误

问题描述

在Windows 11 x64系统上构建libgit2库时,执行以下CMake命令:

cmake .. -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=ON 

收到一系列错误:

CMake Error at deps/http-parser/CMakeLists.txt:4 (add_library):
No SOURCES given to target: http-parser    
CMake Error at deps/xdiff/CMakeLists.txt:5 (add_library):
No SOURCES given to target: xdiff
CMake Error at deps/zlib/CMakeLists.txt:6 (add_library):
No SOURCES given to target: zlib
CMake Error at src/libgit2/CMakeLists.txt:4 (add_library):
No SOURCES given to target: libgit2
CMake Error at src/util/CMakeLists.txt:3 (add_library):
  No SOURCES given to target: util

解决步骤

  • 拉取缺失的子模块依赖
    libgit2的http-parser、xdiff、zlib等依赖通过Git子模块管理,若克隆仓库时未加--recursive参数,这些依赖目录会是空的,导致CMake找不到源文件。在libgit2仓库根目录执行:

    git submodule update --init --recursive
    
  • 确保构建目录规范
    必须在独立的构建目录(比如新建的build文件夹)内执行CMake命令,避免在libgit2根目录直接构建引发路径冲突。标准流程:

    mkdir build && cd build
    cmake .. -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=ON
    
  • 清理CMake缓存后重试
    若之前执行CMake失败,残留的缓存文件可能干扰新构建。删除构建目录下的CMakeCache.txt文件和CMakeFiles文件夹,重新运行CMake命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:42:33