Не собирается wxWidgets с MinGW

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Не собирается wxWidgets с MinGW

Post by Дрю »

Всем привет!

Помогите\подскажите\направьте на путь истинный...
Операционная система Windows XP SP3.
За три дня возни с wxWidgets и MinGW я так и не смог собрать эти библиотеки.

При выполнении mingw32-make -f makefile.gcc получаю ошибку:
  • C:\Documents and Settings\AndreyN>cd %WXWIN%

    C:\wxWidgets>cd build\msw

    C:\wxWidgets\build\msw>mingw32-make -f makefile.gcc
    if not exist gcc_mswud mkdir gcc_mswud
    process_begin: CreateProcess(NULL, -c "if not exist gcc_mswud mkdir gcc_mswud", ...) failed.
    make (e=2): ═х єфрхЄё  эрщЄш єърчрээ√щ Їрщы.
    mingw32-make: [gcc_mswud] Error 2 (ignored)
    if not exist ..\..\lib\gcc_lib mkdir ..\..\lib\gcc_lib
    process_begin: CreateProcess(NULL, -c "if not exist ..\..\lib\gcc_lib mkdir ..\..\lib\gcc_
    lib", ...) failed.
    make (e=2): ═х єфрхЄё  эрщЄш єърчрээ√щ Їрщы.
    mingw32-make: *** [..\..\lib\gcc_lib] Error 2

    C:\wxWidgets\build\msw>
MinGW удалял, скачивал свежий, брал из поставки с wxWidgets... результат один и тот же.
путь поиска компилятора прописан как c:\MinGW\bin;
переменную объявил WXWIN=c:\wxWidgets
из msys ../configure --with-msw --enable-debug --enable-debug_gdb --disable-shared проходит, но make - нет, выдаёт на каком-то этапе ошибку о невозможности найти какой-то файл.
Компилятор gcc работает, ну по крайней мере простую программку компилирует.
С помощью компилятора MS VC 2009 всё собирается, а с GCC - нет. Google ответа не дал, хотя о проблеме знает.
Что не так? Чего нажать?
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://wxwidgets.info/tag/video/

И да, ты точно уверен что у тебя WinAPI пакет для MinGW стоит нормальный\установлен вобще\стоит самый последний?
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Post by Дрю »

Установлен w32api-3.15. Как узнать нормальный это\тот вообще пакет? Свежее я не нашел.
MinGW устанавливал с помощью автоматического установщика http://sourceforge.net/projects/mingw/

Видео посмотрел, но там не о том... у меня не компилируется wxWidgets после его установки. Везде написано, что после установки wxWidgets, библиотеку необходимо собрать (компилировать) установленным на компьютере компилятором - у меня это MinGW и с ним, по всей видимости, есть какая-то проблема.
Вот, например, что сие означает: if not exist gcc_mswud mkdir gcc_mswud ? - это make проверяет есть ли папка gcc_mswud ?, её нет и необходимо её создать, но создать её он не может - process_begin: CreateProcess(NULL, -c "if not exist gcc_mswud mkdir gcc_mswud", ...) failed. Почему не может создать папку? И вместо русских букв отображаются какие-то кракозябры\умляуты.
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

Вот как я запускал компиляцию

Code: Select all

mingw32-make -f makefile.gcc BUILD=release UNICODE=1 MONOLITHIC=1 SHARED=1 
Как-то так этот вопрос сто раз обсуждался. + можно посмотреть в %wxDir%\INSTALL-MSW.txt
в разделе Basic options хотя бы
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Post by Дрю »

Такая подача привела к тому же самому результату. :(

Файл %wxW*\docs\msw\install.txt я честно прочитал ещё вчера. :)
Немного в недоумении я сейчас нахожусь, но дело пошло... :)
в командной строке Windows вначале задал переменную
set PATH=c:\mingw\bin
а затем и это

Code: Select all

mingw32-make -f makefile.gcc BUILD=debuge UNICODE=1 MONOLITHIC=1 SHARED=1
пошло.
Хотя в переменных средах системы пути прописывал. :roll:
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

После того как задал переменные среды глобальные/для пользователя винду надо перезапустить.
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Post by Дрю »

Нет, при смене переменных в вин.ХР нет необходимости в её перезагрузке. Достаточно закрыть консоль, сменить переменную PATH, запустить консоль и посмотреть текущее состояние переменной PATH. Но всё равно, пока я не задал SET PATH=c:\mingw\bin ничего не работало.
И компилироваться wxWidgets начал вот так:

Code: Select all

mingw32-make -f makefile.gcc BUILD=debug WXUNIV=0 UNICODE=1
mingw32-make -f makefile.gcc BUILD=release WXUNIV=0 UNICODE=1
уже лет пятнадцать я с компьютерами, но просвета так и не видать... :) Раньше я думал, что 8-ми разрядные процессоры медленные, DOS - неудобная...
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Post by Дрю »

Не хочу создавать новую тему... у меня новые проблемы. :(
За почти 4 дня я так и не смог скомпилировать хоть чего-то полезного в C::B. Я не знаю может у меня руки кривые или мозгов не хватает, но это просто пипец...
Теперь у меня в кодеблокс ошибка при попытке скомпилировать хоть что-то - C:\wxWidgets\include\wx\platform.h fatal error: wx/setup.h: No such file or directory
Думаю бросить всю эту затею с изучением C::B вчастности и Си в целом!
p.s. пути в настройках указывал всякие. Ну почему оно всё так сложно?! :evil:
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

На это наступаешь не ты первый поищи по форуму спроси у гугла. Что за версия у тебя кодеблокса? В глобальных переменных C::B показал папки с wx? Попробуй просто добавь к проекту в иклюдисы папку с этим ф-лом. У меня он лежит в

Code: Select all

%wxDir%\lib\gcc_dll\mswu\wx
Думаю бросить всю эту затею с изучением C::B вчастности и Си в целом!
Не Си а Си++.
Ну почему оно всё так сложно?!
А кому сейчас легко?[/code]
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Post by Дрю »

что-то тут не так...
при компиляции библиотеки вылезла очередная проблема:

Code: Select all

gcc_mswudll\monodll_xh_propdlg.o: file not recognized: Memory exhausted
collect2: ld returned 1 exit status
mingw32-make: *** [..\..\lib\gcc_dll\wxmsw291u_gcc_custom.dll] Error 1
Это при компиляции самой wxWidgets в командной строке :)
Ну как-то всё не ладится у меня, руки уже опускаются... физически у меня 2 гига памяти, проц. центрино дуо... при компиляции библиотеки примерно через час память заканчивается и процесс прерывается.
Не компилируется, не собирается, не.... :(
вот так пытаюсь откомпилировать:

Code: Select all

c:\wxWidgets\build\msw>mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

У тебя 64-х битная система? Какая версия MinGW? Вот что в подобных случаях рекомендует народ. + повторно wxWidgets нужно комилить с ключом clear
1. Remove all old installations of Code Blocks, MinGW, MinGW-64, and wxWidgets ... delete all folders of those applications after uninstallation process is complete.
2. Remove all references of MinGW from Path variable.
3. Download tdm-gcc-4.5.1 from this website -> http://tdm-gcc.tdragon.net/download
4. Start installation of tdm-gcc-4.5.1 and select to install latest stable version (from drop down menu) and make sure that "automatically add to path variable" is selected.
5. Download wxPack_v2.8.11.03.exe from this website -> http://sourceforge.net/projects/wxpack/ ... e/download
6. Install it in C:\wxWidgets2.8
7. Download Code Blocks from this website -> http://www.codeblocks.org/downloads/26
8. Install it in default folder
9. Open up Code Blocks ->Settings -> Compiler and Debugger -> Toolchain Executables ... and select "Reset defaults" button.
10. Select "Autodetect" button in the same tab and it should come up with a popup to say that MinGW in MinGW32 was detected.
11. Select Settings->Global Variables select default from drop down menu click new variable and input "wx" and under base text field type: C:\wxWidgets2.8 and save.
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Post by Дрю »

не работает.
Виндовс у меня ХР sp 3, 32-х битная.
codeblocks-10.05
tdm-gcc-4.5.1
wxPack_v2.8.11.03

wxPack, как я понимаю, там ничего компилировать не нужно?

А так я пробовал по-разному, уже все варианты перебрал. Ставил, компилировал, удалял, опять и опять...
Ну как так???? Документация говорит, что долно работать, а оно хрен! Начинает бесить уже этот дебильный виджет! пора vc++ от майкрософта ставить, а про этот кошмар забыть.
Есть у кого-нибудь ещё какие-нибудь мысли?
Attachments
ошибки при компиляции
ошибки при компиляции
err_2.PNG (17.21 KiB) Viewed 17910 times
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

Ругается у тебя компилятор на либы - прилинковать походу не может. Либо wxPack не тем компилятором (не той версией) собирали либо ты в проекте либы не прописал.
Вообще wx лучше копилить самому под конкретный копилятор.

Даже не знаю в чем у тебя проблема со сборкой я с 4.5 не пробовал собирать, но с 4.4.1 (вот у меня в Path прописано C:\MinGW_441\bin;C:\MinGW_441\mingw32\bin) собралось без проблем. Если замучился и тебе просто на посмотреть возьми MS VC++ там собирается прямо из под студии. Или вообще сходи на Qt там сразу полностью готовая среда для работы. Все уже откопилено и сконфигурировано. Скачай DialogBlocks они wx автоматом собирают.
На худой конец укажи SHRED = 0 - собери как статическую либу, но учти что debug сборка проекта линковаться в разы дольше будет.
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Дрю
Earned a small fee
Earned a small fee
Posts: 12
Joined: Tue Mar 01, 2011 2:32 pm

Post by Дрю »

В общем за добрые пять дней я таки смог скомпилировать wxWidgets, но подружить его с C::B не вышло. Удалил всё нахрен! никому не посоветую. Я злой.
Спасибо вам за помощь.
Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

Post by Mojo »

Дрю wrote:В общем за добрые пять дней я таки смог скомпилировать wxWidgets, но подружить его с C::B не вышло. Удалил всё нахрен! никому не посоветую. Я злой.
Спасибо вам за помощь.
Ужасть :) ий богу ужасть :)
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Post Reply