Перед нами была поставлена задача написания программы управления комплексом, включающим три установки наведения, нашего производства. Управление комплексом должно осуществляться с чемоданчика с красной кнопкой. Чемоданчик был куплен на тайване Getac. Чемоданчик из литого люминия весит наверное 10 кило. Зато его не страшно выкинуть из самолета, может даже не сломается. Нам был выдан такой чемоданчик с предустановленным Linux МСВС 3.0.
В тех.задании значится разработка приложения которое работает на военном линуксе и на Windows. Собственно статья о том ка решаются такие задачи. Мы эту задачу слегка расширили. ПО должно собираться из исходников на любой доступной платформе: GNU/Linux, FreeBSD, Solaris, Windows 32/64 бит XP/7.
Совместимость
с MS Windows на уровне исходным
кодов программ обеспечивается за счет
сборки приложения в системе MinGW/Msys
с использованием компиляторов GCC-4 и
библиотек GNU. В проекте используются библиотеки и компиляторы, которые одновременно присутсвтуют на всех перечисленных платформах. Особенная сложность состоит в том как совмещать библиотеки с разными версиями, некоторые функции могут отсутсвовать потому что библиотека на военном линкусе устаревшая (примерно лет на пять), а некоторые функции уже устарели в новых версиях библиотек. Поэтому по каждой функции приходится смотреть в документацию и использовать только те фукнции, которые присутствуют во всех версиях.
Ниже приводится таблица верисй на чем удалось подружить и обеспечить переносимость прижоложений между платформами.
Таблица 1.
Перечень приложений и библиотек GNU,
использованных в проекте
Windows XP/7 (MinGW) | GNU/Linux (Debian) | Orcale Solaris 11/11 (development lic.) |
Linux МСВС 3.0
(ВНИИНС)
|
|
Версия ОС
|
MINGW32_NT-6.1 1.0.17(0.48/3/2) 2011-04-24 23:39 i686 Msys | Linux 3.3.0 May 18 2012 x86_64 GNU/Linux | SunOS 5.11 11.0 i86pc i386 i86pc | Linux 2.4.32-vniins42smp 00:14:27 MSD 2010 i686 i686 i386 GNU/Linux |
GCC-4 | 4.6.2 | 4.7.0 | 4.5.2 | 4.1.3 |
2.24.10
|
2.24.10 | 2.20.1 | 2.12.12 | |
glib-2.0 |
2.28.8
|
2.32.3 |
2.28.6
|
2.18.4 |
cairo |
1.10.2
|
1.12.2 | 1.8.10 | 1.6.4 |
pango |
1.29.4
|
1.30.0 | 1.28.3 | 1.18.3 |
libUSB |
1.2.6
|
0.1.12 |
+
|
0.1.12 |
SDL | 1.2.15 | 1.2.14 | 1.2.14 | |
OpenSSL |
1.0.0 29 Mar 2010
|
1.0.1c 10 May 2012 | 1.0.0e 6 Sep 2011 | 0.9.7b 10 Apr 2003 |
sqlite3 | 3.7.12.1 |
Графика была реализована с использованием GTK+ 2, работа с USB через драйвер и библиотеку libUSB, джойстик через SDL, файловая база данных Sqlite3 собиралась из исходников.
Vitaly Lipatov: Недовольство системой
Vitaly Lipatov: Недовольство системой
После того, как у нас отобрали чемоданчик с красной кнопкой остался дистрибутив МСВС, ISO образ диска. Оказалось дистрибутив хорошо ставится на винтуальную машину VirtualBox, так что отладка и обновление новых версий ПО переместилось на виртуальную машину.
ОтветитьУдалитьПодскажите пожалуйста, есть ли в МСВС средства разработки? (интересует создание оконных приложений с кнопками, менюшками и т.д.)
УдалитьТам есть QT, есть GTK-2 и GCC версии см. таблицу выше.
ОтветитьУдалитьЭтот комментарий был удален автором.
УдалитьА предустановленный QT там только в качестве библиотек или есть ещё gui приложение, что-то вроде Visual Studio в Windows, например...(Извиняюсь за возможно глупые вопросы, просто по работе пришёл приказ переводить всё ПО под МСВС, о котором никаких сведений не имеем:( ) Может реально установить какой-нибудь QT Creator например, если да, то какую версию искать?
УдалитьНашел там документацию на QT-3.3.8 и утилиту Настройка QT-4 больше ничего нет. В менеджере программ значятся библиотеки QT-3.3.8b, QT-4.4.2, QT-4.6.3 (пакет разработки и webkit).
ОтветитьУдалитьНачните с установки МСВС с установочного диска на виртуальную машину VirtualBox. Ставится без проблем за пять минут. Потом сможете сами чего-то разобрать отпадет множество вопросов. Мы компилировали недостающие библиотечки из исходников. Кроме того мы умеем писать софт на одной операцинке, например на Debian или MinGW, где у вас есть все библиотечки и средства разработки, а потом компилировать на МСВС. При этом основой того что все скомпилиуется является использование той самой таблички сопоставления версий библиотек, используете только те функции, которые есть в старых библиотеках на МСВС.
ОтветитьУдалитьДобрый вечер, а есть возможность с Вами связаться по поводу МСВС?
ОтветитьУдалитьСвязаться можно, открыл адрес почты в профиле.
Удалить