我想编译源代码,但我需要添加extern" C"来自其他包的很多头文件。所以我必须同时保持完整。 我想知道的是,我可以添加
#ifdef __cplusplus
extern "C" {
#endif
在标题和
#ifdef __cplusplus
}
#endif
我感兴趣的每个标题的页脚?
我能想到的是使用$awk
将这些文件传递给编译器,但我无法提出详细信息
是否有任何已知的例子或我可以挖掘的东西?
非常感谢你。
答案 0 :(得分:0)
您可以创建包装器,包括有问题的标头,如下所示:
extern "C" {
#include "header.h"
}
在您自己的代码中,然后包含包装器,而不是原始标头。
您可以使用一次性脚本自动创建这些包装器标头,这应该很简单。例如,在Bash中,我只做了类似的事情:
for f in include/*; do echo -e "extern \"C\" {\n#include \""$f"\"\n}" > "include_wrappers/wrap_$f"; done