使用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的共享库,可以直接导入.