понедельник, 28 декабря 2009 г.

Как засодить wxWidgets в жопу WinCE 4.2!

Это мой первый технический пост в моем блоге. В целях тренировки я решил описать сборку wxWidgets 2.8.10 для WinCE 4.2. И писать я его, блять, буду так как могу.
Собирать будем вестимо под embedded VC++ 4.0 - ибо то что сейчас 2009 год (конец!) никого не ебет.

Собственно пиздуем на www.wxwidgets.org и сливаем оттуда исходники. В принципе рекомендую слить и документацию. Но настоящий быдлокодер доками не пользуется, а начинает ебать мозг на форумах (в соответствие с 1-м законом быдлокодинга). Замечу - сливать лучше архив для всех осей сразу, а не для маздая в отдельности. Этим действием мы достаточно пиздато обойдем некоторые заебоны компилятора.
Вопросы разархивации я опущу к херам. Надеюсь ясно - что результат мероприятия кроется в получении либо .dll, либо .lib, либо, блять, и того, и другого.
Нас интересует воркспейс находящийся по следующему адресу ..\wxWidgets-2.8.10\build\wince\wx.vcw.
В него входит 6 проектов - сложность вызывает (у настоящего быдлокодера) только wx_mono.vcp. Остальные собираются на ура - сыпля обильно варнингами. В соответствие со 2-м законом быдлокодинга - забиваем хуй на варнинги, ибо реально влом их давить. Тем более делал не я.
По поводу настроек проектов - можно забить хер. По умолчанию все свалится в ..\wxWidgets-2.8.10\lib

Итак, собираем wx_mono.vcp. И получаем - вестимо хер в жопу, следующим сообщением:
--------------------Configuration: mono - Win32 (WCE x86) Release--------------------
Compiling...
extended.c
Compiling...
checklst.cpp
D:\wxWidgets-2.8.10\src\msw\wince\checklst.cpp(182) : error C2065: 'ListView_SetCheckState' : undeclared identifier
D:\wxWidgets-2.8.10\src\msw\wince\checklst.cpp(183) : error C2143: syntax error : missing ';' before '}'
dc.cpp
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1779) : error C2065: 'ABC' : undeclared identifier
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1779) : error C2146: syntax error : missing ';' before identifier 'width'
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1779) : error C2065: 'width' : undeclared identifier
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1781) : error C2039: 'GetCharABCWidths' : is not a member of '`global namespace''
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1781) : error C2065: 'GetCharABCWidths' : undeclared identifier
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1783) : error C2228: left of '.abcA' must have class/struct/union type
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1784) : error C2228: left of '.abcA' must have class/struct/union type
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1793) : error C2228: left of '.abcC' must have class/struct/union type
D:\wxWidgets-2.8.10\src\msw\dc.cpp(1794) : error C2228: left of '.abcC' must have class/struct/union type
display.cpp
D:\wxWidgets-2.8.10\src\msw\display.cpp(497) : error C2039: 'EnumDisplaySettings' : is not a member of '`global namespace''
D:\wxWidgets-2.8.10\src\msw\display.cpp(497) : error C2065: 'EnumDisplaySettings' : undeclared identifier
D:\wxWidgets-2.8.10\src\msw\display.cpp(497) : error C2065: 'ENUM_CURRENT_SETTINGS' : undeclared identifier
Generating Code...
Error executing cl.exe.

wxwince28.lib - 14 error(s), 0 warning(s)

ах какая заебись - в жопу врот его ебись. (стихи не мои)

Ненастоящий быдлокодер сразу забьет хер. Настоящий будет разбираться. Решение кроется в 3-м законе быдлокодинга - комментируй все то - что не компилируется. Однако если мы копнем глубже то:
1.) ListView_SetCheckState - реально хер его знает откуда взялся. Комментируем.
2.) Структура ABC - собственно тоже откуда вылезла - хер проссышь. Комментируем.
3.) EnumDisplaySettings - такая функция WinAPI отсутствует в SDK WinCE 4.2, как класс. Комментируем.
Мы столкнулись с тем, что разработчики не хуя не протестировали библу именно под CE 4.2. Но в оправдание стоит отметить, что предлагаемый воркспейс предназначен для WinCE 3, WinCE 4.x, WinCE 5, WinCE6 Rx, WinMobile 5, WinMobile 6. Типа - один на всех - поэтому это еще пиздато, что доработка отбойным молотком была не столь грандиозной.

Итак проделав вышеописанные операции мы получим желанные библиотеки и достаточно пиздатого конкурента MFC на WinCE 4.2.

Каков же результат данного поста? - спросят немногие.
Я вам отвечу - свод законов быдлокодинга:
1. Не пользоваться документацией, а троллить.
2. Забивать хер на варниги.
3. Комментировать ошибки - не разбираясь.

Всех благ! Реально заебало это писать.

суббота, 26 декабря 2009 г.

Мазерфакер!

Бля! Наша компания что - особенная - раз сегодня, в субботу 26.12.2009 - работает за 31.12.2009? Крутотень. Надо пойти потроллить на форумах.

Кстати та погода, которая сейчас в Питере, мне охеренно напоминает первый "Max Payne" - все темное, мрачное, снег. Только небоскребов не хватает.

четверг, 17 декабря 2009 г.

Подведение итогов

Второго дня пожрал пирожки и прослушал речи на семинаре "Microsoft Windows Embedded: будущее устройств уже сегодня!".

Собственно подытожить можно следующим диалогом:
- Смотрите как все пиздато!
- Где же пиздато - когда хуево!
- Дык это же и пиздато!

понедельник, 14 декабря 2009 г.

День недели - понедельник.

Событие 1. Сегодня в метро пересекся с чуваком, охеренно напоминающего Лебовски. Фак! Так и тянуло подойти и ляпнуть:
"-Чувак, чувак - ну ты бля, чувак!".
Забавно.

Событие 2. Хохо. С час ебал мозг по поводу сборки SQLite под WinCE. Когда просек где торможу, захотелось уебаться лбом об стол. Блять - как же все просто - с какого хера подходить будто все сложно!?

Событие 3. Весь в ожидании завтрашнего захода на конференцию мягкотелых по embedded системам. Звали выступить. Посмотрим. Надеюсь урвать халявную литературу и так же на халяву пожрать.

Событие 4. Пойду - ка в'ебу кофейку. Да со сливками. Постараюсь спиздить у кого нить припудренный сахаром хлебный мякишь.

пятница, 11 декабря 2009 г.

Парадоксы

Второго дня заполучил гламурный буклет новшеств ISaGRAF 5 (самое интересное, что еще в начале года был на конференции по ISaGRAF 6, где вещал француз - их зам. ген. директора или типа того - какие они пиздатые пацаны. Ну да ладно.) Что же нам пишут в буклете - зададутся вопросом те кому не похуй и собственно те кому абсолютно похуй. А я вам отвечу - помимо языков стандарта IEC61131 (SFC, ST (паскалеобразная хуета), LD, IL, FDB) в Workbench (как бэ IDE) ISaGRAF 5 включены дополнительные языки такие как Flow Chart, IEC 61499 (тот же FBD, только с событийной моделью) и барабанная дробь - ANSI C.

Что тут можно сказать. Спрашивается - какого хуя - первоначально исключили С из IEC61131 и заменили его паскалеобразной хуетой, когда все одно приходилось обращаться к С (путем написания библиотек и вызова их в Workbench). Какого хуя, блять, надо было ориентироваться на всякого рода поеботсво, ебать всем мозг и в итоге что? Все вернуть на круги свои. Для того, чего предназначен ISaGRAF - такие вещи как ST (он же паскаль) должны идти на хуй.

зы. Вместе с Дельфи.