禁用单个文件的预编译头

时间:2016-11-30 11:05:36

标签: c++ c visual-c++ cmake

我正在研究.cpp上有许多vs2013个文件的项目,并为它们使用预编译的标头。我正在使用CMake来构建我的项目。

但我有一个.c文件(让我们称之为xyz.c)我想要禁用预编译的头文件。

我尝试了几种方法,但如果我为所有.cpp文件启用预编译标头,它也会自动为.c文件启用。这就是我试过的:

set_source_files_properties (xyz.c
  PROPERTIES COMPILE_FLAGS /Y-xyz.c )

假设/Yu已启用所有文件,我只是尝试为xyz.c关闭此选项。

如果有人知道任何方法,请告诉我。

1 个答案:

答案 0 :(得分:3)

/Y-没有参数。尝试:

set_source_files_properties(xyz.c
  PROPERTIES COMPILE_FLAGS /Y-)

或者,不是在所有文件上使用/Yu而是仅为.c文件禁用它,您可以使用相反的方法,仅对/Yu使用.cpp文件。鉴于您的.cpp个文件列在变量SOURCES中,而my_pch.h是您预编译的标题:

set_source_files_properties(${SOURCES}
  PROPERTIES COMPILE_FLAGS /Yumy_pch.h)
相关问题