Waf:为python扩展指定库名

使用waf构建库很不错,我喜欢lib< targetname>命名方案.但是当我使用boost :: python时,我想摆脱它:我希望librarie的名字就像目标名称.这只是一个简单的重命名,我知道,但是:我可以告诉waf在目标名称之前省略lib(或者:指定一个保持不变的自己的名字)?

解决方法:

好的,我知道了.可以使用python工具启用此功能,可在此处找到:http://docs.waf.googlecode.com/git/apidocs_16/tools/python.html#module-waflib.Tools.python

重点是调用conf.init_pyext()并在build指令中指定features =’pyext’的共享库:

def options(opt):
        opt.load('python')

def configure(conf):
    conf.load('python')
    conf.check_python_version((2,4,2))
    conf.check_python_headers()

def build(bld):

    bld.shlib(
        features = 'pyext',
        source = "mymodule.cpp",
        target = "myfoo",
        use = "PYTHON BOOST_PYTHON")

现在,在构建目录中有一个名为myfoo.so的共享库,可以直接导入.

上一篇:web安全防御之RASP技术


下一篇:一周文章导读:fork() 成为负担;网络协议;(CPRI)带宽计算;互联网架构“高并发”;从MCU到FPGA;