C ++文件包括C头文件

时间:2014-06-08 03:05:13

标签: c++ c g++ header-files

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

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

main.cpp中:

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

    return 0;
}

includedFile.h

#include <stdint.h>
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,

我在this post上看到我可能需要#define __STDC_LIMIT_MACROS而没有任何成功。

欢迎任何帮助!

1 个答案:

答案 0 :(得分:0)

<cstdint>是C ++ 11的一项功能。将-std=c++11传递给您的编译器。