У меня есть отдельный заголовочный файл, в котором я объявляю глобальные переменные.Я включил этот заголовочный файл в pch.h, который включен в каждый файл .cpp.#include "variable.h"
Теперь мне нужно вызвать переменную и прочитать ее в условии if, чтобы начать код.Перед компиляцией ошибки не отображаются в Visual Studio.Однако, когда я компилирую код, он возвращает ошибку:
Error LNK2005 "bool ahschecked" (?ahschecked@@3_NA) already defined in checkin.xaml.obj pch.h
Переменная «ahschecked» типа Boolean и файл, из которого я пытаюсь прочитать глобальную переменную, - checkin.xaml.obj,исходное объявление переменной в pch.h
Это раньше работало в формах Windows, но когда я перешел на UWP, я не смог заставить его работать.
Iвоссоздали эту проблему с помощью меньшей программы.
Var.h (где хранится глобальная переменная)
#pragma once
extern bool globalbool = false;
#pragma endregion
pch.h (автоматически включается в каждый .cpp)
#pragma once
#include <collection.h>
#include <ppltasks.h>
#include "App.xaml.h"
#include "var.h"
MainPage.xaml.cpp (попытка чтения из глобальной переменной)
#incldue "pch.h"
#include "MainPage.xaml.h"
void testapp::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) {
if (::globalbool == false)
{
// do something
}
}