首页 > 解决方案 > 如何控制 CMake 编译器命令在输入文件之前删除“-c”选项

问题描述

在构建 C 文件时调用我的编译器时,我试图删除“-c”选项。目前,我正在使用 Ninja 生成器,但我会说它与 Make 类似。

这是我的 CMake 项目生成的忍者规则:

#############################################
# Rule for compiling C files.

rule C_COMPILER__XXXX_
  depfile = $DEP_FILE
  deps = gcc
  command = gcc.exe $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
  description = Building C object $out


#############################################

在指定要编译的输入文件之前,我需要删除“-c”。上面的例子使用了 GCC,但是我的“真实”编译器不支持 -c 选项。

有任何想法吗 ?我尝试使用编译选项但没有成功 - 我没有找到一种方法来 100% 控制用于编译的命令。

我发现的唯一一件事是使用“自定义命令”。

标签: cgcccmakebuildninja

解决方案


推荐阅读