Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top