包含C头文件的C ++文件

我需要在我的C ++项目中包含一个C头文件,但g ++会抛出“未在此范围内声明”错误。 我读到我需要使用extern“C”关键字来修复它,但它似乎对我不起作用。

这是一个触发此错误的虚拟示例。

main.cpp中:

#include  extern "C" { #include "includedFile.h" } int main() { int a = 2; int b = 1212; std::cout<< "Hello World!\n"; return 0; } 

includedFile.h

 #include  enum TypeOfEnum { ONE, TWO, THREE, FOUR = INT32_MAX, }; 

抛出的错误是:

 $> g++ main.cpp In file included from main.cpp:4:0: includedFile.h:7:9: error: 'INT32_MAX' was not declared in this scope FOUR = INT32_MAX, 

我在这篇文章中看到我可能需要#define __STDC_LIMIT_MACROS而没有任何成功。

欢迎任何帮助!

是C ++ 11的一项function。 将-std=c++11传递给编译器。