我的IDE /编译器是Windows上的Code :: Blocks / GCC.我想为windows,Linux和OSX编译它.
我的问题:
>编译wxWidgets和Lua
>建筑wxLua
>创建一个跨平台项目,知道哪个库用于哪个 *** 作系统
我在wxLua上阅读了很多文档,发现你应该使用wxWidgets 2.8.12和Lua 5.2.3(因为它们是两个最新的稳定和受支持的版本).
如果可能,我希望程序最终成为一个独立的可执行文件.
所以我想我需要编译Lua和wxWidgets作为.lib库(windows)和.a库(linux / OSX),是正确的吗?我该怎么做?
一旦完成,what kind of project do I need to create和我如何嵌入wxLua到该项目? I couldn’t find a lot of information on that.
最后,我将如何告诉我的IDE / project / makefile(?)哪些库用于哪个 *** 作系统?
解决方法 以下是关于如何在windows / OSX / linux上为我的跨平台项目编译wxWidgets / wxlua的说明,但是我使用gcc / mingw-tdm而不是Code :: Blocks,因此您可能需要将其适应您的环境.以下是在windows上如何构建wxWidgets:
./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
这是如何在windows上构建wxlua的:
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.
我在this repository中有Windows,OSX和Linux的工作版本脚本.脚本已经在最新的wxWidgets和wxlua版本(使用两个存储库的中继)进行了测试.他们生成一个与Lua dll(在windows上)相连的wxlua库,所以它不是一个静态的配置,你可能正在寻找,但有静态构建可能会阻止你加载其他Lua库(除非你导出正确的符号并提供一个代理DLL as described here),所以我不建议配置.
此外,我仍然使用Lua5.1与wxlua和wxWidgets,因为这允许我使用LuaJIT作为替代替代,以获得更好的性能在某些情况下.如果您使用Lua 5.2编译wxlua,因为它们的ABI不同,您将不会有此选项.
在与自己的基于C的工具包的集成方面,最好的选择可能是将其作为Lua库公开,并从wxlua应用程序加载,因为您将加载任何其他库,因为它允许您保持组件彼此独立.
总结以上是内存溢出为你收集整理的c – 编译wxLua(跨平台和静态)全部内容,希望文章能够帮你解决c – 编译wxLua(跨平台和静态)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)