gpt4 book ai didi

c++ - 使用CMake + Ninja使用GIT下载依赖

转载 作者:太空狗 更新时间:2023-10-29 21:42:20 24 4
gpt4 key购买 nike

我有一个在构建过程中被克隆(使用 git)的 ExternalProject 依赖项。这一切都适用于 CMake + Make。

mkdir build && cd build; 
cmake ..
make

当我输入 make 时,它​​会使用 git 正确克隆和构建库。

但是,当我使用 Ninja 生成器时:

mkdir build && cd build; 
cmake -GNinja ..
ninja

我收到以下错误:

$ cmake -GNinja ..                                                                                                                                                                                                                                                   -- The C compiler identification is AppleClang 6.0.0.6000054
-- The CXX compiler identification is AppleClang 6.0.0.6000054
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.56.0
-- Found the following Boost libraries:
-- unit_test_framework
-- Found Git: /usr/local/bin/git (found version "2.1.2")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/carneiro/src/gamgee/build<p></p>

<p>$ ninja
ninja: error: 'contrib/htslib-prefix/src/htslib/libhts.a', needed by 'test/gamgee_test', missing and no known rule to make it
</p>

cmake+ninja组合不支持git下载外部项目吗?

最佳答案

事实证明,如果您在构建之前进行清理,一切正常,ninja 会正确下载我的依赖项。

所以工作流程是这样的:

mkdir build && cd build
cmake -G Ninja ..
ninja clean # if you don't do this, it will not download Externalproject dependencies
ninja

一定是 Ninja 生成器中的某种错误,但我目前对这个工作流程很满意。

关于c++ - 使用CMake + Ninja使用GIT下载依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26622394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com