Портирование С++ приложений на платформу nanoCAD, использование страниц свойств проекта
В одной из предыдущих статей мы писали о создании кросс-САПР-платформенных приложений из существующих приложений, работающих только на платформе AutoCAD. В данной статье мы углубимся в детали и расскажем о том, как настроить проект ObjectARX приложения для AutoCAD и собрать NRX приложение для nanoCAD.
Напомним, что для преобразования ObjectARX приложения в NRX приложение необходимо скопировать существующую конфигурацию проекта и заменить в ней пути к заголовкам, библиотекам, а также задать константы для условной компиляции. Процесс этот описан в документации nanoCAD SDK.
Ниже мы расскажем о том, чего в документации разработчика ещё нет — об использовании страниц свойств (property pages), позволяющих минимизировать количество изменений, необходимых для создания в проекте конфигурации для nanoCAD. В результате настройки, приложение можно будет собрать под обе платформы, nanoCAD и AutoCAD, при этом изменения будут вноситься лишь в файлы проектов, исходные тексты, .h и .cpp файлы, останутся неизменными.
Начнём с задания переменной среды, указывающей на расположение nanoCAD SDK. Переменная может быть определена в системе, либо может быть задана в .bat файле перед запуском Visual Studio 2008.
nanoCAD 3.0 — 7.0 собраны на Visual Studio 2008, поэтому и приложения следует собирать этим же компилятором.
StartVS90_NCadSDK.bat:
set NCadSDK=c:\Program Files (x86)\Nanosoft\nanoCAD Plus 7.0\SDK
call "%VS90COMNTOOLS%vsvars32.bat"
devenv.exe
После запуска Visual Studio, создадим новую конфигурацию проекта. Конфигурацию можно создать с нуля, либо скопировать одну из существующих конфигураций. Например, конфигурация Release может быть скопирована в новую конфигурацию Release NCAD.
Для того, чтобы не настраивать вручную параметры компилятора и компоновщика, подключим страницу свойств, .vsprops файл, в котором эти параметры уже настроены. Страницы свойств добавляются в окне менеджера свойств (View -> Property manager).
В состав NRX SDK входят страницы свойств для отладочной и релизной конфигураций:
- rxsdk_debugcfg.vsprops – свойства для debug-конфигурации проекта;
- rxsdk_releasecfg.vsprops – свойства для релизной конфигурации проекта;
Расположены они в директории \include\arxgate. Для обеспечения максимальной совместимости файлы страниц свойств, а также заголовки, расположенные в директории arxgate, имеют такие же имена, что и аналогичные файлы в ObjectARX.
После добавления страницы свойств, пронаследованные настройки появляются в проекте:
Вот, собственно, и все, что необходимо сделать для портирования простого приложения. Собранный NRX-модуль загружается в nanoCAD командой APPLOAD. Для автоматической загрузки, приложения можно добавить в «Чемодан автозагрузки», расположенный там же, в диалоге команды APPLOAD.
P.S. Пользуясь случаям, привожу ссылку на проект портала isicad.ru «Народное САПР-интервью», в рамках которого на вопросы пользователей отвечает Денис Ожигин, dows, директор по развитию направления nanoCAD компании ЗАО Нанософт.
Денис Ожигин: «Сегодня Нанософт хорошо узнаваем и абсолютно вписывается в современный рынок, активно развивая функционал и расширяя пользовательскую базу. Мы чувствуем себя уверенно в современных нишах: BIM, PDM, PLM. Как мы видим себя сейчас и куда идём? Импортозамещение? Легализация софта? Оптимизация ваших бюджетов? Куда и в каком темпе развивается nanoCAD? Дистрибуция передовых зарубежных решений? Готов ответить на все вопросы, комментарии и предложения нынешних и будущих пользователей, поклонников и скептиков, партнёров и конкурентов…»
Получить более подробную информацию о проекте и задать свои вопросы можно по ссылке isicad.ru/ru/ask-vip.php?person=Ozhigin.