Миграция Visual Studio 2005 sln на 2008, предупреждение с путями vc98 в переменной среды LIB, как это исправить? - PullRequest
6 голосов
/ 06 мая 2009

Я перевожу решение из Visual Studio 2005 в Visual Studio 2008. Когда я создаю решение в 2005 году, у меня не возникает никаких проблем. Однако после того, как я использую devenv.exe / Upgrade и затем использую msbuild в решении, я получаю следующие предупреждения:

CSC: предупреждение CS1668: неверный путь поиска '\ vc98 \ lib' указан в 'переменной среды LIB' - 'Система не может найти указанный путь.' CSC: предупреждение CS1668: неверный путь поиска '\ vc98 \ mfc \ lib' указан в 'переменной среды LIB' - 'Система не может найти указанный путь. ' CSC: предупреждение CS1668: неверный путь поиска 'c: \ program files \ microsoft visual studio 9.0 \ vc \ platformdk \ lib', указанный в 'переменной среды LIB' - 'Система не может найти указанный путь.'

Я проверил http://social.msdn.microsoft.com/Forums/en-US/Vsexpressinstall/thread/3f875480-fee2-4bc3-b829-95e220b22a01, и он не предлагает мне никакой помощи, потому что мои переменные окружения LIB и INCLUDE не установлены ни в пользовательских, ни в системных переменных. Я посмотрел на Инструменты Studio> Параметры> Проекты и решения> Каталоги VC ++, и нет ничего, что ссылается на что-то старое:

Библиотечные файлы: $ (VCInstallDir) Lib $ (VCInstallDir) atlmfc \ Lib $ (VCInstallDir) atlmfc \ Lib \ i386 $ (WindowsSdkDir) \ Lib $ (FrameworkSDKDir) Lib $ (VSInstallDir) $ (VSInstallDir) Lib

Включать файлы:

$ (VCInstallDir) включают $ (VCInstallDir) atlmfc \ включают $ (WindowsSdkDir) включают $ (FrameworkSDKDir) включают в себя

Я использовал диагностический вывод, чтобы точно видеть, что включает переменная LIB при вызове:

lib = c: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ ATLMFC \ LIB; c: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ LIB; C: \ Program Files \ Microsoft SDK \ Windows \ v6. 0A \ lib; \ vc98 \ lib; \ vc98 \ mfc \ lib; c: \ программные файлы \ microsoft visual studio 9.0 \ vc \ platformdk \ lib; c: \ программные файлы \ microsoft visual studio 9.0 \ vc \ lib; c: \ программные файлы \ microsoft visual studio 9.0 \ vc \ atlmfc \ lib; LIBPATH = c: \ Windows \ Microsoft.NET \ Framework \ v3.5; c: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727; c: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ ATLMFC \ LIB; c : \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ LIB

Так что, если этот vc98 НЕ находится в моем env vars, или мои настройки студии и vc98 даже не установлены (и не переделаны), откуда этот путь? Какой процесс настраивает LIB env var таким образом?

Ответы [ 5 ]

2 голосов
/ 13 мая 2009

Найдено на MSDN :

Да, это известная проблема, которая возникает для некоторых людей. Смотри внимательно в ваш путь LIB. Сразу после ATLMFC, V, SDK -> \ vc98 \ lib. Удалить эту запись (и тот, который следует). Если LIB - это переменная пользователя, тогда вы будете нужно перезагрузить VS или, возможно, выйти и обратно. Если это система переменная, то вам придется перезагрузить. Ваша ошибка должна исчезнуть.

1 голос
/ 04 августа 2011

Вот решение

http://msdn.microsoft.com/en-us/library/tcbs315h(v=vs.80).aspx

это относится к записи LIB в переменных среды

0 голосов
/ 24 сентября 2009

У меня очень похожая проблема с C # проектами в VS.NET2010. Похоже, что он влияет только на те проекты, которые импортируют проекты C ++ / CLI. Проекты по-прежнему настроены на компиляцию с использованием набора инструментов v9.0 (C ++, C ++ / CLI) и .NET 3.5 (C ++ / CLI, C #). Вам повезло найти источник проблемы?

Я решил эту проблему, добавив предупреждение 1668 в список игнорируемых предупреждений в свойствах затронутых проектов. Это не идеально, но лучше, чем спам в моем списке предупреждений.

0 голосов
/ 11 мая 2009

Мне интересно, может ли это быть из-за изменений в использовании переключателей компилятора / MT и / MTd из / ML и / MLd, которые произошли для VS2005 относительно библиотек времени выполнения C?

Обратитесь сюда и посмотрите, поможет ли это: http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx

0 голосов
/ 07 мая 2009

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

Они указаны в vcproj XML (или вы можете проверить Property Manager в IDE):

<VisualStudioProject>
    <Configurations>
        <Configuration InheritedPropertySheets="stuff.vsprops">...

Если у вас есть некоторые унаследованные листы свойств, посмотрите в файл и посмотрите, есть ли у вас явно заданные пути lib vc98?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...