Ответ 1
Вот мои инструкции о том, как я компилирую wxwidgets/wxlua в Windows/OSX/Linux для моего кросс-платформенного проекта, но я использую gcc/mingw-tdm, а не Code:: Blocks, поэтому вам может понадобиться адаптировать их к вашей среды.
Вот как вы можете создавать wxwidgets в Windows:
./configure --prefix="$INSTALL_DIR" --disable-shared --enable-unicode \
--enable-compat28 \
--with-libjpeg=builtin --with-libpng=builtin --with-libtiff=no --with-expat=no \
--with-zlib=builtin --disable-richtext \
CFLAGS="-Os -fno-keep-inline-dllexport" CXXFLAGS="-Os -fno-keep-inline-dllexport"
make
make install
Вот как вы можете создать wxlua в Windows:
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=FALSE \
-DwxWidgets_CONFIG_EXECUTABLE="$INSTALL_DIR/bin/wx-config" \
-DwxWidgets_COMPONENTS="stc;html;aui;adv;core;net;base" \
-DwxLuaBind_COMPONENTS="stc;html;aui;adv;core;net;base" -DwxLua_LUA_LIBRARY_USE_BUILTIN=FALSE \
-DwxLua_LUA_INCLUDE_DIR="$INSTALL_DIR/include" -DwxLua_LUA_LIBRARY="$INSTALL_DIR/lib/lua51.dll" .
(cd modules/luamodule; make)
(cd modules/luamodule; make install/strip)
Вам нужно будет обновить инструкции по сборке wxlua, чтобы использовать Lua5.2 вместо Lua5.1, который я использую.
У меня есть рабочие скрипты для Windows, OSX и Linux в этот репозиторий. Скрипты были протестированы на последних версиях wxwidgets и wxlua (используйте соединительные линии обоих репозиториев). Они генерируют одну библиотеку wxlua, связанную с dll Lua (в Windows), так что это не совсем статическая конфигурация, которую вы можете искать, но статическая сборка может помешать вам загружать другие библиотеки Lua (если вы не экспортируете соответствующие символы и не предоставляете прокси-библиотеку DLL как описанный здесь), поэтому я не рекомендую эту конфигурацию.
Кроме того, я по-прежнему использую Lua5.1 с wxlua и wxwidgets, так как это позволяет мне использовать LuaJIT в качестве замены для замены в некоторых случаях. У вас не будет этой опции, если вы скомпилируете wxlua с Lua 5.2, поскольку их ABI отличается.
С точки зрения интеграции с вашим собственным инструментарием на основе С++, лучший вариант, вероятно, выставляет его как библиотеку Lua и загрузку из приложения wxlua, поскольку вы загружаете любую другую библиотеку, так как это позволяет вам сохранять ваши компоненты независимыми от каждого другие.