Форум сайта python.su
Кто-нибудь компилировал сабж под винду из исходников? Отзовитесь. Нужен хелп. Вопросы “а зачем” просьба не задавать. :)
Офлайн
Сам не компилировал. Только проблему бы поконкретнее рассказал.
Хм, а так не работает?
Installing on Windows
1. Build wxWidgets and wxPython as described in BUILD.txt. If you would rather have a version without the code that turns runtime assertions into Python exceptions, then use “release” instead of “hybrid” when building wxWidgets and add “FINAL=1” to the setup.py command line.
2. Install wxPython like this. Remember to add any additional flags you added for the build such as UNICODE or USE_SWIG:
python setup.py install
3. Copy the wxWidgets DLLs to the wx package directory so they can be found at runtime by the extension modules without requiring that they be installed on the PATH:
copy %WXWIN%\\lib\\vc_dll\\wx*h_*.dll c:\\Python25\\Lib\\site-packages\\wx
Отредактировано (Март 28, 2008 16:52:22)
Офлайн
А каким компилятором вообще его можно собирать?
Офлайн
:)
Компилил.
Основной проблемой было использование свига не той версии, которая была указана в http://wxpython.org/builddoc.php
Офлайн
Все доки я прочитал. Делал как там написано. Компилировал mingw с msys. Саму библиотеку виджетов скомпилировать удалось без проблем. А вот wxPython - че-то не хочет. Причем проблема не со свигом. Он проходит. А вот на компиляции _core_ обламывается. Такое впечатление, что wx-config обрабатывается некорректно.
Вот вывод команды /python25/python setup.py COMPILER=mingw32 WX_CONFIG=“/bin/sh -e /opt/wx/2.8/bin/wx-config” build_ext –inplace USE_SWIG=1 SWIG=/swig/swig.exe UNICODE=1
cflags = ['-I/opt/wx/2.8/lib/wx/include/msw-unicode-release-2.8', '-I/opt/wx/2.8/include/wx-2.8', '-DWXUSINGDLL', '-D__WXMSW__', '-mthreads']
Using SWIG-1.3.34
Preparing CORE...
Preparing GLCANVAS...
Preparing STC...
Preparing ACTIVEX...
Preparing GIZMOS...
running build_ext
building '_core_' extension
writing build.unicode\temp.win32-2.5\Release\src\_core_.def
c:\mingw\bin\g++.exe -mno-cygwin -shared -s build.unicode\temp.win32-2.5\Release\src\helpers.o build.unicode\temp.win32-2.5\Release\src\wxc.rc.o build.unicode\temp.win32-2.5\Release\src\msw\_core_wrap.o build.unicode\temp.win32-2.5\Release\src\_core_.def -L/opt/wx/2.8/lib -Lc:\python25\libs -Lc:\python25\PCBuild -lwx_mswu_richtext-2.8 -lwx_mswu_aui-2.8 -lwx_mswu_xrc-2.8 -lwx_mswu_qa-2.8 -lwx_mswu_html-2.8 -lwx_mswu_adv-2.8 -lwx_mswu_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8 -lpython25 -lmsvcr71 -o wx\_core_.pyd -mno-cygwin -mwindows -mthreads -mno-cygwin -mwindows -Wl,--subsystem,windows -mwindows
c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lwx_mswu_richtext-2.8
collect2: ld returned 1 exit status
error: command 'g++' failed with exit status 1
Отредактировано (Март 30, 2008 11:09:28)
Офлайн
Компилил визуалом.
Как уже писал, проблема была не в том, что свиг не срабатывал, а в том что он генерил код, который не компилился.
Нужна именно та версия свига, которая написана в мануале.
Плюс, желательно точно повторить все, что там написано.
Если соберётся, можно будет эксперементировать с флагами.
:)
Ещё раз повторюсь. В мануале написан 1.3.29 плюс патч от wx.
На сайте есть уже 1.3.34 - её не стоит брать. :)
Отредактировано (Март 30, 2008 12:56:31)
Офлайн
:)
Попробуй путь сделать более виндовым…
Офлайн
2 ofigititelno
Спасибо. Попробую с путем поиграться. Если не получится, попробую взять старый свиг. Не знаю только, будет ли работать на нем “directors”.
Отредактировано (Март 30, 2008 21:31:07)
Офлайн
Скопировал библиотеки в c:\python25\libs, который есть в путях g++. Стал находить, но теперь выдает другую ошибку
build.unicode\temp.win32-2.5\Release\src\msw\_core_wrap.o:_core_wrap.cpp:(.text+0xe2505): undefined reference to `_imp__wxEVT_HOTKEY'
Офлайн
Визуал - который 7.10 (наверное 2003, я по годам не очень ориентируюсь)
:) Проблемы были с тем, что я чего-то делал не по мануалу… Что точно - не помню, давно это было…
Днем попробую скомпилить, отпишусь :)
Отредактировано (Март 31, 2008 00:19:13)
Офлайн