gpt4 book ai didi

makefile - CMake:为什么 add_custom_command(...) 中的 POST_BUILD 不起作用?

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

我在使用PRE_BUILD 时遇到了一些问题 | PRE_LINK | POST_BUILD 命令 add_custom_command(...)。当我使用 POST_BUILD 时,我发现该命令将在构建目标之前执行,如下所示:

[root@VM_33_35_centos build]# make 
Scanning dependencies of target main
[100%] Building C object CMakeFiles/main.dir/main.c.o
Linking C executable main
This is pre build
This is post build
[100%] Built target main

我的 CMakeLists.txt 的内容是:

cmake_minimum_required(VERSION 2.8) 
add_executable(main main.c)
add_custom_command(TARGET main
PRE_BUILD
COMMAND echo "This is pre build "
)
add_custom_command(TARGET main
POST_BUILD
COMMAND echo "This is post build"
)

为什么 CMakeLists.txt 第 8 行的命令 echo "This is post build"[100%] Built target main< 之后没有执行 第 7 行的消息(Linux 命令)?

最佳答案

添加了 add_custom_command(TARGET) 签名的命令成为目标的一部分,即可以假定目标已构建(构建目标主要) 仅在执行给定命令后

POST_BUILD 关键字说明

run after the target has been built

表示命令在创建目标文件(在您的情况下是可执行文件main)之后执行。此文件是作为链接过程的一部分创建的,在 Linking C executable main 行之后开始。

关于makefile - CMake:为什么 add_custom_command(...) 中的 POST_BUILD 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36786926/

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