gpt4 book ai didi

cmake add_custom_command 总是过时的

转载 作者:行者123 更新时间:2023-12-04 06:04:11 25 4
gpt4 key购买 nike

我遇到的问题是 add_custom_command 总是过时的,因此在每次构建时都会运行。自定义命令运行作为同一项目目标的工具来生成另一个目标使用的文件:

add_executable(GeneratorTool main.cpp)

add_custom_command(
OUTPUT generated.h
COMMAND GeneratorTool
DEPENDS main.cpp
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "** GeneratorTool **"
)

add_library(MyLib STATIC generated.h ...)

在构建输出(visual studio 2010)中,我总是看到** GeneratorTool **。我希望它不会在 generate.h 存在并且比 main.cpp 更新后再次构建。
有任何想法吗?

谢谢,
约亨

最佳答案

首先,你可以把DEPENDS在您的 add_custom_command 中的 GeneratorTool 上而不是 main.cpp . GeneratorTool已经依赖 main.cpp .

那么很可能是generated.h的位置这是模棱两可的,它迫使重新构建生成的.h。

确保 MyLib 查找 generated.h在正确的地方。

我盲目的猜测是尝试:

add_library(MyLib STATIC ${CMAKE_CURRENT_SOURCE_DIR}/generated.h ...)

关于cmake add_custom_command 总是过时的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576036/

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