Мне нужно включить заголовочный файл C в моем проекте C++, но g ++ вызывает ошибки «не объявлены в этой области». Я прочитал, что мне нужно использовать ключевое слово extern «C», чтобы исправить это, но оно, похоже, не работает для меня.Файл C++, включая файл заголовка 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
без какого-либо успеха.
Любая помощь приветствуется!
Почему существует запятая после 'INT32_MAX'? – genisage
Да, но почему вы положили его туда? Вы не ставите запятую после последней вещи в перечислении, не так ли? – genisage
@genisage Фактически для запятой разрешено запятая. –