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 » Mon Nov 24, 2008 12:41 pm

Есть на свете такая штука, называется 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 126 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: 1195
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Mon Nov 24, 2008 5:45 pm

Ммм.. а можно нескромный вопрос..? Можешь сделать статью со скриншотами и подробными инструкциями для 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 » Mon Nov 24, 2008 9:09 pm

Решено ;-)

Оффтопик: 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: 1195
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Mon Nov 24, 2008 9:23 pm

На самом деле можно фэйковый свой пост написать и самому себе наставить попугаев. Они вроде не защитываются когда сам себе ставишь, но и от напоминалки избавляешься :)

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

Post by radcapricorn » Tue Nov 25, 2008 10:18 pm

Для тех, кто все-таки заинтересовался - прикладываю чуть подправленный патч (забыл синхронизировать изменения: с оригинальным патчем при make install не копируются некоторые файлы) и файл autogen.mk
Attachments
patch.zip
(10.02 KiB) Downloaded 146 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: 1195
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Tue Nov 25, 2008 10:23 pm


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

Post by radcapricorn » Sat Nov 29, 2008 6:44 pm

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

--with-winceversion
--with-winceplatform

опции к configure.

С этим патчем wxWinCE собирается даже с --enable-stl
Attachments
patch.zip
(12.73 KiB) Downloaded 137 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: 1195
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Sat Nov 29, 2008 8:21 pm

переслей мне патч plz в мыло, я проапдейчу пост в блоге?

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

Post by radcapricorn » Sat Nov 29, 2008 10:58 pm

Так ведь уже?!
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: 1195
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Sat Nov 29, 2008 11:13 pm

Ух.. аттач у поста был изначально?!
Видать чего-то я его пропустил %) наверно предшествующая рабочая неделя сказывается :)

acousoft
In need of some credit
In need of some credit
Posts: 8
Joined: Mon Jan 26, 2009 1:21 pm

Post by acousoft » Wed Sep 30, 2009 5:12 pm

Пытался собрать 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 » Sun Oct 17, 2010 6:03 pm

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

Post Reply