我如何使用 Scons 构建 SWIG lua 示例?
我正在尝试编写一个 SCons 脚本来构建使用 swig 分发的 lua/embed3 示例。通过 makefile 构建指令如下:
swig -c++ -lua -external-runtime swigluarun.h
swig -c++ -lua -module example -o example_wrap.cpp example.i
g++ -o embed3 embed3.cpp example_wrap.cpp example.cpp \
-llua5.1 -I/usr/include/lua5.1
在 Scons wiki 中,据说 Scons 有内置的 swig 支持。在源代码中添加“.i”文件应该可以完成这项工作,但是我无法找到有关如何实现此脚本的任何详细描述。
以下脚本在 swig 示例下构建 lua/simple 项目。但是,我无法找到如何执行我的问题中给出的第一个 swig 指令。感谢您的回复。
env = Environment()
env.Append( SWIGFLAGS = '-lua' )
env.Append( CPPPATH = '/usr/include/lua5.1' )
env.Append( LIBS = 'lua5.1' )
env.SharedLibrary( target = 'example.so',
source = ['example.c', 'example.i' ], SHLIBPREFIX='' )
提前致谢。
I am trying to write an SCons script to build lua/embed3 example distributed with swig. Build instructions by makefile as follows:
swig -c++ -lua -external-runtime swigluarun.h
swig -c++ -lua -module example -o example_wrap.cpp example.i
g++ -o embed3 embed3.cpp example_wrap.cpp example.cpp \
-llua5.1 -I/usr/include/lua5.1
In Scons wiki, it's said that Scons has builtin swig support. Adding '.i' file among sources should do the job, however i am unable to find any detailed description about how can this script can be implemented.
Following script builds lua/simple project under swig examples. However, i am unable to find how to execute first swig directive given in my question. Thanks for reply.
env = Environment()
env.Append( SWIGFLAGS = '-lua' )
env.Append( CPPPATH = '/usr/include/lua5.1' )
env.Append( LIBS = 'lua5.1' )
env.SharedLibrary( target = 'example.so',
source = ['example.c', 'example.i' ], SHLIBPREFIX='' )
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过/看到这个示例脚本:
一些更有趣的细节位于此博文。
Did you try/see this example script:
Some more interesting details are in this blog post.
感谢 Eli 的指导,这是我能找到的实现脚本的唯一方法。欢迎任何改进。
注意:我正在使用 Ubuntu 9.10、swig-1.3.36 和 scons 1.3.0。
Thanks to Eli's guidance, this is only way i could find to implement script. Any improvements are welcome.
Note: I am working on Ubuntu 9.10, swig-1.3.36, and scons 1.3.0.