Я взламываю исходный код SumatraPDF, и у меня возникла проблема.Мне нужно изменить 3 файла: SumatraPDF.cpp
, SumatraPDF.h
и Search.cpp
.Я добавляю extern HWND testtest;
в SumatraPDF.h
и добавляю HWND testtest = hwndFrame;
в функцию CreateWindowInfo()
, которая определена в SumatraPDF.cpp
.(Здесь hwndFrame - это hwnd некоторого окна GUI, которому присваивается значение при создании окна GUI.) До сих пор его можно было успешно скомпилировать.Теперь мне нужно использовать testtest
в функции, которая определена в Search.cpp
, поэтому я пишу в Search.cpp
win = FindWindowInfoByHwnd(testtest);
Но теперь я получаю ошибку
* Поиск.obj: ошибка LNK2001: неразрешенный внешний символ "struct HWND__ * testtest" (? testtest @@ 3PAUHWND __ @@ A) *
Я проверил, что у меня #include "SumatraPDF.h"
в Search.cpp
, и я не могу понятьВ чем проблема.
Так почему Search.cpp
может использовать глобальную переменную testtest
, которая определена в SumatraPDF.h
, а SumatraPDF.cpp
может?
Моя среда Visual Studio 2010.