首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Scons构建SWIG lua示例?

如何使用Scons构建SWIG lua示例?
EN

Stack Overflow用户
提问于 2010-09-28 16:07:56
回答 2查看 1.4K关注 0票数 0

我正在尝试编写一个SCons脚本来构建随swig分发的lua/embed3示例。makefile的构建指令如下:

代码语言:javascript
复制
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 examples下构建lua/simple项目。然而,我无法找到如何执行我的问题中给出的第一个swig指令。感谢您的回复。

代码语言:javascript
复制
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='' )

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2010-09-28 16:11:20

你有没有试过/看过这个example script

代码语言:javascript
复制
import distutils.sysconfig
env = Environment(SWIGFLAGS=['-python'],
                  CPPPATH=[distutils.sysconfig.get_python_inc()],
                  SHLIBPREFIX="")
env.SharedLibrary('_example.so', ['example.c', 'example.i'])

this blog post中有更多有趣的细节。

票数 1
EN

Stack Overflow用户

发布于 2010-09-28 17:00:36

多亏了Eli的指导,这是我能找到的实现脚本的唯一方法。欢迎任何改进。

代码语言:javascript
复制
env = Environment()

swigCmdLine = 'swig -c++ -lua -external-runtime swigluarun.h'
swigDefs = env.Command( 'swigluarun.h', '', swigCmdLine )
env.Depends( 'embed3', swigDefs )
env.Append( SWIGFLAGS = '-c++ -lua' )
env.Append( CPPPATH = '/usr/include/lua5.1' )
env.Append( LIBS = 'lua5.1' )
env.Program( 'embed3', ['embed3.cpp', 'example.cpp', 'example.i' ] )

注意:我正在开发Ubuntu 9.10、swig-1.3.36和scons 1.3.0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3810821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档