С переустановкой явно погорячился. Для начала просто помести в
начало файла на который ругается компилятор строчку "extern variant
vVarApp;" и попробуй скомпилировать. Немного теории.
Объявление со словом extern решает проблему когда есть переменная, объявленная в одном файле, а нужен доступ к ней из другого файла.
Каждый .с файл компилируется отдельно от других и в этот момент компилятор понятия не имеет что там понаписано в других файлах.
С помощью extern компилятору сообщают что где-то такая переменная уже есть и не нужно заводить новой, а сгенерировать доступ к уже имеющейся.
Потом линкер разберется где эта переменная находится и подставит её реальный адрес в код который к ней обращается.
Такого сорта объявлений переменных, прототипов функций, всяких констант и пр. бывает много и потому всё это собирают в один файл, обычно с расширением .h или .hpp и включают этот файл инклюдом. Эффект тот же что просто вставить текст, а возни с этим и путаницы меньше, особенно если нужно включать в несколько разных .с файлов.
Такой файл, если он есть, можно найти поиском среди .h файлов, содержащих имя "vVarApp". Файл это, очевидно, должен быть частью конкретного проекта, не библиотечным.