4

waf でライブラリを構築するのはいいことですし、lib<targetname>命名規則も気に入っています。しかし、boost::python で is を使用するときは、それを取り除きたいと思います。ライブラリの名前をターゲット名のようにしたいのです。これは単なる名前の変更ですが、waf にlibターゲット名の前に付けることを省略するように指示できますか (または、変更しない独自の名前を指定します)。

4

1 に答える 1

3

はい、わかった。pythonこの機能は、次のツールを使用して有効にすることができます: http://docs.waf.googlecode.com/git/apidocs_16/tools/python.html#module-waflib.Tools.python

conf.init_pyext()主なポイントは、次を指定して共有ライブラリのビルド ディレクティブを呼び出すこと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できるという共有ライブラリがあります。import

于 2012-01-24T08:05:58.643 に答える