Существует более понятный способ с одним заголовочным файлом, поэтому его проще поддерживать.В заголовке с префиксом глобальных переменных каждое объявление с ключевым словом (я использую общее), затем в один исходный файл включите его, например,
#define common
#include "globals.h"
#undef common
и любые другие исходные файлы, подобные этому
#define common extern
#include "globals.h"
#undef common
Просто убедитесь, что вы не инициализируете ни одну из переменных в файле globals.h, иначе компоновщик по-прежнему будет жаловаться, поскольку инициализированная переменная не рассматривается как внешняя, даже с ключевым словом extern.Файл global.h выглядит примерно так:
#pragma once
common int globala;
common int globalb;
etc.
, кажется, работает для любого типа объявления.Конечно, не используйте общее ключевое слово в #define.