Я использую Visual Studio 2012 для разработки моих проектов, и я также установил Visual Studio 2010, что дает мне возможность использовать компилятор VС++ 10 в Visual Studio 2012 (свойства проекта), но я также установил Visual С++ 6 и как-то вариант использования компилятора VС++ 6 отсутствует в Visual Studio 2012, как мне добавить эту опцию (вручную)?
Можно ли использовать компилятор VС++ 6 в Visual Studio 2012?
Ответ 1
Ответ, безусловно, может быть. Это кажется вполне возможным, но я не смог получить копию VC 6, поэтому я не смог ее проверить. То, что я смог сделать, это заставить VS 2012 использовать VC 7 (VS 2002) для компиляции проекта.
Обновление: Ответ определенно да. OP указывает в комментариях, что он смог получить VC 6, используя это решение.
Конфигурация
То, как я это делал, это установить следующее (в порядке установки):
Windows 7, SP1, 32 бит
Я выбрал Windows 7, потому что это самая ранняя версия Windows, которая будет поддерживать VS 2012. Я использовал 32-битную версию, потому что VS 2002 (VC7) не будет установлен на машине x64.
Visual Studio 2002, SP1
Как я уже говорил, я не смог получить VC6. Этого не было, где можно было найти на сайте Microsoft. комментарий Брюса под этот вопрос предоставляет эту полезную информацию:
Visual С++ 6.0 недоступен (в том числе через MSDN) из Microsoft, поскольку в него входит Microsoft JVM. Подробнее см. эту ссылку. - BruceCran
После просмотра вышеизложенного я понял, что установка VS 2002 (VC 7) была следующей лучшей.
Очевидно, что здесь вы должны установить VC 6, если у вас есть копия 1.
1 Я должен отметить, что для любого, кто заинтересован, VC 6 доступен на Ebay. Если бы мне платили в реальной валюте вместо очков, я бы прошел лишнюю милю и получил копию VC 6 для тестирования.
Visual Studio 2010, SP1
Единственная причина этого в том, что это требование для Daffodil. Подробнее о Daffodil ниже.
Visual Studio 2012, обновление 2
Это требование из исходного вопроса.
Это набор файлов конфигурации, который позволяет VS 2010 и VS 2012 ориентироваться на более старые компиляторы VC.
В настоящее время это поддерживаемые версии компилятора VC:
- VC 8 (Visual Studio 2005)
- VC 7.1 (Visual Studio 2003)
- VC 7 (Visual Studio 2002)
- VC 6 (Visual Studio 6)
Я должен отметить, что Daffodil официально не поддерживает VS 2012 как IDE, но, похоже, работает. На сайте Daffodil:
Daffodil отлично работает в VS 2012 и более поздних версиях 2 пока VS 2010 также установлен.
2 Кажется, проблема с отладкой при использовании VS 2013 и VS 2015, как указано здесь:
Отладочная информация не соответствует при использовании набора инструментов платформы v60 в Visual Studio 2013
Тестирование
Чтобы проверить выше, я создал новый консольный проект С++ Win 32 в Visual Studio 2012. Затем я удалил все файлы заголовков и cpp из проекта - у них есть вещи, специфичные для VS 2012, поэтому не нужны. Затем я добавил простой файл "hello world", который я мог бы использовать для тестирования:
#include <iostream.h>
void main()
{
cout << "Hello World!" << endl;
}
Используя проект as (таргетинг на VS 2012), я попытался его создать, и он потерпел неудачу.
Затем я щелкнул правой кнопкой мыши проект и выбранные свойства. Я выбрал Свойства конфигурации в левой части диалогового окна, а затем в разделе "Набор инструментов платформы", справа, я выбрал v70. Вы заметите, что есть также опция для v60:
Затем я сохранил изменение в проекте и сделал сборку. Он построил exe успешно. Чтобы убедиться, что VC 7 используется, я запустил Process Monitor во время компиляции:
Как вы можете видеть cl.exe, компилятор вызывается из каталога VC 7.
Заключительные мысли
Первоначальный вопрос заключается в компиляции существующего проекта VC 6. Всего несколько заметок на этом.
Моя догадка заключается в том, что для перенацеливания вам нужно будет создать новый пустой проект в VS 2012, а затем добавить все существующие исходные файлы. Причина этого заключается в том, что, очевидно, формат проекта отличается между двумя версиями Visual Studio.
Как я уже упоминал, я тестировал с помощью VC 7 вместо 6. Предполагаю, что последний шаг для OP - попробовать все это с помощью VC 6. Надеюсь, все это сработает.
Ссылки
- Daffodil в CodePlex
- С++ Native Multi-Targeting для VS 2010 в блоге команды С++
- VS Android - Конфигурация для таргетинга на Android с помощью VS 2010
- VS-Tool - Конфигурации для таргетинга на различные фреймворки: Clang, EmScripten, MinGW, NACL, Python