如何覆盖/附加 CMAKE_C_CFLAG

问题描述

cmake 版本:3.18.5 MinGW Makefile 主持人:窗户 目标:每次点击付费 编译器:windriver

我想用不同的标志创建两个不同的可执行文件。 例如,我想创建一个带有标志(-tPPCE)的可执行文件和另一个带有标志(-tPPCEV)的可执行文件,这些标志定义了硬件的类型。 如果我尝试在各自的 CMakelists.txt 中使用

设置此值
    set_target_properties(app1 PROPERTIES CMAKE_C_FLAGS -tPPCE)
    set_target_properties(app2 PROPERTIES CMAKE_C_FLAGS -tPPCEV)

它不起作用。

仅当我在设置了所有其他标志的工具链文件中设置此值时它才有效。

解决方法

您可以使用 target_compile_options 方法:

target_compile_options(app1 PRIVATE "-tPPCE")
target_compile_options(app2 PRIVATE "-tPPCEV")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...