gpt4 book ai didi

cmake - 如何在 cmake 2.8.12 中删除每个目标的定义

转载 作者:行者123 更新时间:2023-12-01 09:40:13 27 4
gpt4 key购买 nike

我正在使用 cmake 2.8.12 .

我通过调用 使用具有相同定义的多个目标add_definitions() .
我想知道如何删除 的这些定义单例目标并将它们替换为一些其他定义或默认定义,例如我没有调用 add_definitions()。

最佳答案

这里更好的方法是为单个目标而不是全局添加定义。

为此,您应该使用 target_compile_definitions而不是 add_definitions
例如,代替

add_definitions(-DSOMEMACRO)
add_executable(myExecutable main.cpp)

你会用
add_executable(myExecutable main.cpp)
target_compile_definitions(myExecutable PUBLIC -DSOMEMACRO)

这允许您对定义进行细粒度控制,并且通常是设置它们的首选方式。
我认为为每个目标添加定义比从某些目标中删除定义更容易。

关于cmake - 如何在 cmake 2.8.12 中删除每个目标的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049463/

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