Использование переменной extern в заголовке и использование в нескольких проектах

У меня есть 4 проекта в одном решении. Я хочу использовать переменные, определенные как extern в одном файле заголовка глобально. Сценарий таков:

headerfile.h и function.cpp в проекте 1 mainfile.cpp в проекте 2

headerfile.h содержит:

extern int nframes;

mainfile.cpp содержит:

#include "headerfile.h"
int nframes=0;

function.cpp содержит:

//use value of nframes

и я пытаюсь получить прямой доступ к значению nframes в function.cpp. Но в проекте 1 есть ошибка компоновщика: неразрешенный внешний символ "int nframes".

Теперь, когда я также определяю nframes в function.cpp, сборки успешны, но значение nframes сбрасывается в 0, когда элемент управления переключается с mainfile.cpp на function.cpp.

Пожалуйста, помогите.

1 ответ

Вам нужно включить mainfile.cpp в каждый из ваших проектов. Ошибка ссылки просто говорит о том, что она не может найти, где переменная определена. Предложите изменить имя файла mainfile.cpp на GlobalVariables.CPP, с которым вам все станет понятнее.

Другие вопросы по тегам