wxWinCE из-под Линукса (для любителе Topic is solved

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
radcapricorn
Experienced Solver
Experienced Solver
Posts: 70
Joined: Fri Nov 07, 2008 4:25 pm
Location: Saint-Petersburg, Russia

wxWinCE из-под Линукса (для любителе

Post by radcapricorn »

Есть на свете такая штука, называется cegcc. Само существование ее радует: все-таки, дает надежду на человеческий бесплатный инструментарий для разработки под WinMobile (легко и просто прикручивается к CodeBlocks, например). В сети встречаются дискуссии на тему того, можно или нет собрать с помощью данного компилятора wxWinCE, но реального толкового решения мне найти так и не удалось. Пришлось скомпоновать информацию, применить руки и попытаться сделать все вручную. Получилось.

Что нужно для сборки:
1) Сам cegcc-mingw32ce. Взять можно с сайта, однако я забрал версию с SVN и собирал wxWinCE с ней. Проблем с установкой/сборкой быть не должно.
2) Релиз wxWidgets-2.8.9
3) Файл build/autogen.mk (я взял из svn-ревизии wxWidgets 49149 - к ней в сети нашел полуфабрикатные патчи, которые хотя бы позволяли ее собрать, пусть даже она потом криво работала ;-) ) Если будут проблемы - позже выложу и его, забыл с собой захватить.
4) Bakefile, версии как минимум 2.3.0
5) Патч, приложенный к этому посту.

После установки/сборки mingw32ce добавьте пути к его бинарникам в PATH.

Добавьте где-нибудь в aygshell.h вот это:

Code: Select all

#define COMCTL32_VERSION	0x020e
#define SHA_INPUTDIALOG 0x00000001
#define	GN_CONTEXTMENU	1000
#define SHRG_RETURNCMD	0x00000001
Это дефайны из MS Windows Mobile 5.0 SDK - можно заглянуть в его aygshell.h и добавить в cegcc-шный файл соответственно оригиналу. не стал это оформлять патчем, так как версии файла видимо будут разные, в зависимости от того, какой релиз cegcc.

Собственно, далее нужно скачать/распаковать wxWidgets-2.8.9, наложить патч и положить в директорию build файл autogen.mk

Далее я подразумеваю, что текущая директория - корень дерева wxWidgets-2.8.9.

Code: Select all


$ cp /usr/local/share/aclocal/bakefile* build/aclocal

Это надо сделать, если версия Bakefile у вас не 2.3.0.
Пути валидны для Debian Lenny.

$ ./autogen.sh && make -f build/autogen.mk

Процесс займет некоторое время, на выходе - "новый" configure с возможностью выбора сборки wxWinCE 

$ mkdir wince-ppc-release-mono && cd wince-ppc-release-mono

Это чтобы не захламлять директорию с исходниками.

$ ../configure --host=arm-mingw32ce --enable-monolithic --disable-shared --enable-unicode --prefix=/opt/wxWinCE-2.8.9

Я собирал cegcc с svn, после сборки бинарник у меня называется arm-mingw32ce (в установочных пакетах, ИМХО, по-другому зовется). prefix можно взять любой другой :-)

$ make

# make install

В итоге должна собраться статическая монолитная библиотека для PocketPC. Теперь можно собирать сэмплы/демки.

Примечание: этот патч "зашивает" в configure единственную wince-конфигурацию для сборки - под PocketPC c WinCE-4.2. Я не спец в autotools/configure, если кто подскажет, как поправить configure.in, чтоб версию WinMobile и тип платформы можно было опцией задавать - буду премного благодарен. :-)
Attachments
wxWinCE.zip
Патч для wxWidgets-2.8.9, добавляет возможность сборки wxWinCE с помощью mingw32ce.
(10.97 KiB) Downloaded 187 times
win xp pro sp3/VS Express 2008/MinGW;
win Vista Ultimate/VS 2005;
Debian Lenny/gcc/cegcc-mingw32ce;
wxWidgets-2.8.9 w/wxWinCE;
User avatar
T-Rex
Moderator
Moderator
Posts: 1249
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex »

Ммм.. а можно нескромный вопрос..? Можешь сделать статью со скриншотами и подробными инструкциями для http://mobile-developer.ru ?
Мне например было бы интересно под линух собирать для WinCE. Думаю многим людям тоже.
Со своей стороны могу твой блог попеарить на http://mobile-developer.ru и на http://wxwidgets.info
radcapricorn
Experienced Solver
Experienced Solver
Posts: 70
Joined: Fri Nov 07, 2008 4:25 pm
Location: Saint-Petersburg, Russia

Post by radcapricorn »

Решено ;-)

Оффтопик: 5 авардов нахаляву. Не посмотрел, как топик создавал. А потом противная красная строка маячить стала, мол, "у вас нерешенный вопрос"... :-)
win xp pro sp3/VS Express 2008/MinGW;
win Vista Ultimate/VS 2005;
Debian Lenny/gcc/cegcc-mingw32ce;
wxWidgets-2.8.9 w/wxWinCE;
User avatar
T-Rex
Moderator
Moderator
Posts: 1249
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex »

На самом деле можно фэйковый свой пост написать и самому себе наставить попугаев. Они вроде не защитываются когда сам себе ставишь, но и от напоминалки избавляешься :)
radcapricorn
Experienced Solver
Experienced Solver
Posts: 70
Joined: Fri Nov 07, 2008 4:25 pm
Location: Saint-Petersburg, Russia

Post by radcapricorn »

Для тех, кто все-таки заинтересовался - прикладываю чуть подправленный патч (забыл синхронизировать изменения: с оригинальным патчем при make install не копируются некоторые файлы) и файл autogen.mk
Attachments
patch.zip
(10.02 KiB) Downloaded 204 times
win xp pro sp3/VS Express 2008/MinGW;
win Vista Ultimate/VS 2005;
Debian Lenny/gcc/cegcc-mingw32ce;
wxWidgets-2.8.9 w/wxWinCE;
User avatar
T-Rex
Moderator
Moderator
Posts: 1249
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex »

radcapricorn
Experienced Solver
Experienced Solver
Posts: 70
Joined: Fri Nov 07, 2008 4:25 pm
Location: Saint-Petersburg, Russia

Post by radcapricorn »

Самая последняя версия патча, позволяет указывать

--with-winceversion
--with-winceplatform

опции к configure.

С этим патчем wxWinCE собирается даже с --enable-stl
Attachments
patch.zip
(12.73 KiB) Downloaded 195 times
win xp pro sp3/VS Express 2008/MinGW;
win Vista Ultimate/VS 2005;
Debian Lenny/gcc/cegcc-mingw32ce;
wxWidgets-2.8.9 w/wxWinCE;
User avatar
T-Rex
Moderator
Moderator
Posts: 1249
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex »

переслей мне патч plz в мыло, я проапдейчу пост в блоге?
radcapricorn
Experienced Solver
Experienced Solver
Posts: 70
Joined: Fri Nov 07, 2008 4:25 pm
Location: Saint-Petersburg, Russia

Post by radcapricorn »

Так ведь уже?!
win xp pro sp3/VS Express 2008/MinGW;
win Vista Ultimate/VS 2005;
Debian Lenny/gcc/cegcc-mingw32ce;
wxWidgets-2.8.9 w/wxWinCE;
User avatar
T-Rex
Moderator
Moderator
Posts: 1249
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex »

Ух.. аттач у поста был изначально?!
Видать чего-то я его пропустил %) наверно предшествующая рабочая неделя сказывается :)
acousoft
In need of some credit
In need of some credit
Posts: 8
Joined: Mon Jan 26, 2009 1:21 pm

Post by acousoft »

Пытался собрать cegcc, на Убунту (тот же Дебиан вроде бы), согласно описанному на http://mobile-developer.ru.

При запуске скрипта:

sh ../build-mingw32ce.sh

ругается на открывающую скобку в скрипте - строка 21, где что-то вроде COMPONENTS=(binutils ...

не долго боролся с этим, времени не было.
может, че подскажете, а то вещь нужная в хозяйстве.
Rebel
In need of some credit
In need of some credit
Posts: 1
Joined: Sun Oct 17, 2010 9:15 am

Post by Rebel »

Здравствуйте!
Компилятор cegcc-0.59.1.
Сначала пытался собрать свежую версию wxWidgets из svn без патчей, компиляция завершилась на этом http://pastebin.com/dxj886Cz
Потом собирал примерно по инструкции wxWidgets-2.8.9. Получил http://pastebin.com/QReKtK75
Программирует ли кто-нибудь сейчас с помощью cegcc и wxWidgets?
Post Reply