Подтвердить что ты не робот

Переменные среды в Visual Studio 2013

Я пытаюсь включить мой проект в путь %OPENCV_246%\..\..\include

Это разрешает путь F:\dev\opencv_246\build\include

Однако при настройке проекта этот путь не будет разрешаться и, как следствие, ломаются включенные заголовки.

Я пробовал как %OPENCV_246%\..\..\include, так и $(OPENCV_246)\..\..\include без везения.

Использование пути напрямую исправляет мои включенные, но я хотел бы иметь лучший способ управления контуром через переменные среды.

На скриншоте я добавил оба для ясности. Если кто-нибудь может указать на тот шаг, который мне не хватает, я бы это оценил.

EDIT: переменная OPENCV_246 содержит значение F:\dev\opencv_246\build\x86\vc11

screenshot

4b9b3361

Ответ 2

Это похоже на мою проблему, которая заставила VS2013 признать изменение, внесенное мной в переменную среды (в моем случае QTDIR). Даже после перезагрузки и выключения он упрямо висел на старой ценности! (вы можете увидеть значение, если вы хотите отредактировать настройку проекта, нажмите кнопку "Макросы" и прокрутите список вниз, чтобы найти, например, "$ (QTDIR)" )

Здесь он предлагает VS2010 сильно нагружать значения, но 2013 кажется еще более острым!

После некоторых FindInFiles для старого пути кажется, что VS2013 кэширует переменные среды в вашем файле .vcxproj.user. Я понятия не имею, как он попал туда в первую очередь.

Итак, я удалил запись, закрыл решение, снова проверил файл в WordPad, чтобы убедиться, что запись не была вставлена. Затем я снова открыл решение, но старое значение все еще присутствовало в Макросах список!

Закрытие VS, похоже, сделало трюк. Теперь он, кажется, имеет правильный путь - хотя я уверен, что я проверил после того, как я впервые открыл решение, и QTDIR вообще не был в списке Macros - возможно, я запутался...

Ну, похоже, теперь все работает, и мой проект строится и ссылки на мои Qt libs без жалоб: -)

И запись в файле vcxproj.user не вернулась. Поэтому я до сих пор не знаю, как он туда попал. Возможно, я сделал что-то, чтобы сделать это некоторое время назад в предыдущей версии VS...