如何从CodeBlocks或Makefile强制包含标头

How to force a header inclusion from CodeBlocks or from a Makefile?

本文关键字:包含标 Makefile CodeBlocks      更新时间:2023-10-16

我有这个文件:

// File.cpp
int main() {
   FuncToChange(4, 6, 9, 12);
}

现在,我需要获得这种行为:

// Config.h
#define FuncToChange($1, $2, $3, $4) NewFunc($1, $3, $4)
// File.cpp
#include "Config.h"
int main() {
   FuncToChange(4, 6, 9, 12);
}

在不修改原始"File.cpp"文件的情况下,即在不显式#include"Config.h"的情况下如何做到这一点?

是否可以从makefile或IDE(本例中为CodeBlocks)强制包含标头

谢谢

平台:
CodeBlocks 10.05
GCC/MinGW
Windows 7

从预处理器选项页面上的GCC页面:

-include文件处理文件,就好像#include"file"出现在主源文件。但是,搜索文件的第一个目录是预处理器的工作目录,而不是包含主源文件。如果在那里找不到,则在剩余部分中搜索在#include"…"搜索链中。如果包含多个选项如果给定,文件将按它们在命令行上的显示顺序包含。