Поддержка Visual Studio 2008 Express MFC
Как известно многим, версии Express для Visual Studio 2008 не включают поддержку MFC и нескольких других пакетов, необходимых для компиляции большого количества программ Windows.
Итак, вот моя проблема:
У меня есть полная версия Visual Studio 2005. Я использую это для компиляции проекта, над которым работал мой друг, чтобы я мог проверить его для него и продолжить отслеживать ошибки и прочее. Недавно он обновил этот проект до VS 2008, чего у меня нет. Итак, я скачал экспресс-версию в надежде, что смогу просто скомпилировать ее, но не повезло, она жалуется на отсутствие заголовков слева и справа.
Мне кажется, что, поскольку у меня уже есть полная версия VS 2005, у меня обязательно будет по крайней мере некоторая (возможно, более старая) версия рассматриваемых файлов, с которой его проект должен скомпилировать.
Можно ли как-то убедить VS 2008 найти в каталогах 2005 года включаемые файлы и файлы библиотек для компиляции?
Кроме того, это плохая идея? Я действительно предпочел бы не выходить и покупать VS 2008 полностью, поскольку я никогда не буду использовать это непосредственно. (2005 год отлично справляется со мной, и я все равно предпочитаю GCC.)
Спасибо
8 ответов
Вы можете использовать компилятор VC++ непосредственно из командной строки или просто создать новый проект с исходным кодом в Visual Studio 2005. Если он не использует некоторые функции, предоставляемые в новых версиях MFC/ATL в 2008/2008sp1, вам следует в состоянии скомпилировать проект просто отлично.
См. ("Создание проекта из существующего источника") в Visual Studio 2005. К сожалению, они не включают эти библиотеки в Express Edition.
Простой способ справиться с этим - вернуть решение и файлы проекта обратно в состояние Visual Studio 2005 из системы управления версиями (вы используете систему управления версиями, верно?). На этом этапе вы можете скомпилировать проект, если ваш друг не использует ни одну из функций mfc 9 only.
Используйте скрипт (ы) vcvars*.bat из Visual Studio 2005. Посмотрите этот пост из блога VC++, чтобы узнать, как это сделать. Вы будете использовать старые компиляторы, но систему сборки из Visual Studio 2008.
Первое, что я бы попробовал, это загрузить это в VS 2005, просто изменив версию файлов.sln и.vcproj. В.vcproj измените версию с 9.00 до 8.00, а в.sln измените версию формата с 10.00 на 9.00.
Если в проекте нет ничего необычного, у вас есть большой шанс просто использовать его вот так. Также это позволит избежать необходимости обновления 2 файлов проекта и решения.
На этом сайте показано, как код MFC может быть скомпилирован с помощью версий Visual Studio Express: ссылка
Вы можете перейти в Инструменты> Параметры> Проекты и решения> Каталоги VC++ и изменить папки "Включить", "Библиотека" и "Источник" (и, возможно, "Ссылка"), чтобы использовать папки VC++ 2005.
Я предполагаю, что вы просто замените $(VCInstallDir) жестко закодированным путем VS 2005. Я бы записал исходные значения, прежде чем делать это.
Тем не менее, вы только что пытались использовать OLD 2005 файлы sln и vcproj? Продолжайте использовать 2005 на вашем конце и 2008 на своем. Сохраните два набора этих файлов для каждой IDE. Любые проблемы будут связаны с несоответствием библиотек, чего вы не избежите, используя инструменты 2008 года с библиотеками 2005 года.
Я нашел это объяснение. http://www.codeproject.com/Articles/30439/How-to-compile-MFC-code-in-Visual-C-Express
Для справки, я сделал это (изменив каталоги include и каталоги библиотек внутри IDE), и он работает довольно хорошо, у меня есть MFC, ATL, все.