如何为特定源文件禁用预编译头(g++环境下)
在g++中为特定源文件禁用预编译头的方法
在g++环境下,若全局配置了预编译头的使用(比如通过-include指定预编译头文件,或用-Xclang -include-pch加载编译好的.pch文件),要给单个源文件禁用预编译头,只需在编译该文件时添加-fno-use-precompiled-header参数即可。
举个实际编译场景的例子:
假设全局编译时默认使用预编译头stdafx.h,现在要单独编译exclude_me.cpp时跳过预编译头,对应的编译命令如下:
g++ -c exclude_me.cpp -fno-use-precompiled-header -o exclude_me.o
其他需要正常使用预编译头的文件,保持原有编译参数即可,比如:
g++ -c other_file.cpp -include stdafx.h -o other_file.o
这个参数仅对当前编译单元生效,只会影响你指定的那个源文件,不会干扰其他文件的预编译头使用逻辑。
内容的提问来源于stack exchange,提问作者David Partridge
相关产品推荐
相关产品推荐

