Создание VS 2008 играть хорошо с проектами eVC 4.0 - PullRequest
1 голос
/ 15 января 2009

Я хотел бы внести свой вклад в проект Windows Mobile с открытым исходным кодом, но он разрабатывается в eVC 4.0, который полностью не работает в Vista (не стесняйтесь меня поправлять!), И я бы предпочел избежать двойной загрузки или удаленного в мой единственный оставшийся XP-ящик. У меня установлена ​​VS 2008 на моей основной машине для разработки, и я получил все SDK и т. Д. Мне нужно работать с WM. Но! После того, как я собрал весь исходный код и начал пытаться его собрать, мне пришлось внести много изменений для поддержки устаревших методов и некоторых перемещенных заголовков.

В идеале, я бы хотел работать над проектом "как если бы", вместо этого я использовал eVC. Есть ли какой-то «режим причуд», который позволяет мне эмулировать поведение eVC в VS 2008? Если нет, есть ли руководство по переносу приложений с eVC на VS?

1 Ответ

1 голос
/ 15 января 2009

Нет, нет режима, который бы позволял это. Studio '08 использует другой (намного лучше на самом деле) компилятор, чем eVC, поэтому некоторые вещи, которые eVC позволяет использовать в Studio, не будут. Вообще говоря, код из Studio будет работать под eVC.

Теперь, если вы используете MFC, это совсем другая история. MFC в eVC и MFC в Studio сильно различаются, и есть некоторые случаи (например, CString), которые просто ведут себя по-разному (классы в eVC, шаблоны в Studio), особенно если объекты не использовались «правильно» с самого начала. Отмена этого может привести к огромному беспорядку.

Устаревшие методы могут быть обёрнуты в абстрагированный метод, чтобы в Studio код направлялся одним способом, а в eVC - другим. Не зная, с какими конкретно методами у вас возникли проблемы, трудно дать более подробный совет.

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

Edit: Последнее замечание: Studio, как правило, не подходит для импорта проектов eVC, так что вполне возможно, что вы потеряли директивы прекомпилятора и тому подобное в процессе миграции. Отсутствие #defines может сделать порт более сложным, поэтому убедитесь, что все, что определено в eVC, все еще определено в Studio. Также обратите внимание на любое определение подсистемы. Студия также любит забыть импортировать это.

...