我在 vs2013
上开发一个包含许多 .cpp
文件的项目,并为它们使用预编译的 header 。我正在使用 CMake 构建我的项目。
但是我有一个 .c
文件(我们称它为 xyz.c
),我想为它禁用预编译头文件。
我尝试了几种方法,但如果我为所有 .cpp
文件启用预编译 header ,它也会自动为 .c
文件启用。这是我尝试过的:
set_source_files_properties (xyz.c
PROPERTIES COMPILE_FLAGS /Y-xyz.c )
假设 /Yu
为所有文件打开,我只是尝试为 xyz.c
关闭此选项。
谁知道什么方法,请告诉我。
最佳答案
从 cmake 3.16 开始,设置 /Y-
编译器选项将不起作用。为单个文件禁用预编译头的正确方法是这样的:
set_source_files_properties(non-pch.cpp PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
文档: https://cmake.org/cmake/help/v3.16/prop_sf/SKIP_PRECOMPILE_HEADERS.html
(反正用处不大)
关于c++ - 禁用单个文件的预编译头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40886738/