При переходе с Windows на Linux-платформу API nanoCAD остается неизменным, сборку приложений нужно по-прежнему выполнять на Windows, а на Linux вместо инсталлятора .msi следует создать .deb- или .rpm-пакет.
Адаптация приложения
В качестве примера выполним адаптацию приложения «Примеры SDK для nanoCAD 23.1» для работы на Linux. Сборку приложения начнем на Windows, для чего разместим nanoCAD SDK по адресу C:\SDK. Для сборки примеров достаточно выполнить файл \SDK\samples\BuildAllSamples.bat. Одним из результатов сборки является MSI-инсталлятор C:\SDK\samples\bin-x64\Installer\Release\ru-RU\SamplesAppSimple.msi.
Файл SamplesAppSimple.msi является примером дистрибутива для распространения по рабочим местам приложений под nanoCAD. В режиме «Приложение» установщик выполняет следующие действия:
- записывает на компьютер файлы приложений в C:\Program Files\Nanosoft\Примеры SDK для nanoCAD 23.1\;
- добавляет ярлык на рабочий стол. Путь, указанный в ярлыке: C:\Program Files\Nanosoft\nanoCAD x64 23.1\nCad.exe" -r SamplesApp -g "C:\Program Files\Nanosoft\Примеры SDK для nanoCAD 23.1\NCADx64.package.
При запуске ярлыка выполняется стартовая конфигурация, которая добавляет в Платформу nanoCAD новые пункты меню (рис. 1).
Рис. 1
Шаг 1. Ручной перенос приложения и его загрузка в Linux nanoCAD (только в режиме приложения, ярлык).
Приведенный ниже пример описывает портирование Windows-приложений в среду Astra Linux 1.7 с установленной Платформой nanoCAD 23.1; перенос приложений, входящих в MSI-установщик, и создание ярлыка для запуска:
1 Подготовить в среде Linux место для хранения файлов. Например:
$ sudo mkdir /opt/nanosoft/ncad23-sdk-samples/.
2 Любым доступным способом (flash-накопитель, сетевая папка, облако, shared-папка) скопировать все файлы приложения с Windows-платформы на Linux в созданную на предыдущем шаге папку.
Откуда:
C:\Program Files\Nanosoft\Примеры SDK для nanoCAD 23.1\
Куда:
/opt/nanosoft/ncad23-sdk-samples/
Результат должен выглядеть так:
/opt/nanosoft/ncad23-sdk-samples/HelloHost.dll
/opt/nanosoft/ncad23-sdk-samples/HelloNRX.nrx
/opt/nanosoft/ncad23-sdk-samples/NCADSDK.cfg
/opt/nanosoft/ncad23-sdk-samples/NCADx64.package
и другие файлы.
3 Скопировать файл-ярлык C:\SDK\samples\Installer\Linux\SamplesApp.desktop в /opt/nanosoft/ncad23-sdk-samples/.
Далее все операции выполняются на Linux-платформе.
4 Подготовить универсальный файл-ярлык. Ярлык для Linux расположен в C:\SDK\samples\Installer\Linux\SamplesApp.desktop. Он содержит следующую строку запуска:
Exec=/usr/bin/ncad -r SamplesApp -g "/opt/nanosoft/ncad23-sdk-samples/NCADx64.package" %F.
Аналогичный Windows-ярлык содержит следующую строку запуска:
"C:\Program Files\Nanosoft\nanoCAD x64 23.1\nCad.exe" -r SamplesApp -g "C:\Program Files\Nanosoft\Примеры SDK для nanoCAD 23.1\NCADx64.package".
В общем случае нужно указать портируемое приложение вместо пакетного файла NCADx64.package. Могут использоваться .package, .dll, .nrx и другие виды приложений.
5 Чтобы добавить ярлык на рабочий стол, нужно файл SamplesApp.desktop разместить в /usr/share/applications/flydesktop.
6 Чтобы добавить ярлык в меню Пуск, нужно файл SamplesApp.desktop разместить по пути /usr/share/applications/flystartmenu/.
В общем случае для других Linux ОС нужно разместить ярлык по пути /usr/share/applications.
7 Запустить Платформу через созданный ярлык; убедиться, что меню и команды добавились и работают.
Шаги 2 (создание .deb-пакета с дистрибутивом приложения) и 3 (создание .rpm-пакета с дистрибутивом приложения) описывают процесс создания дистрибутивов в виде .deb- и .rpm-пакетов. Они подробно представлены в документации к SDK (см. SDK\docs). Загрузить комплект SDK можно по ссылке https://developer.nanocad.ru/redmine/projects/ncadsdk/files.