2012-01-23 2 views
4

건물 라이브러리는 waf가 좋으며 나는 lib<targetname> 명명 스키마를 좋아합니다. 하지만 boost :: python을 사용할 때 제거하고 싶습니다. librarie의 이름을 대상 이름과 같게하고 싶습니다. 이것은 단순한 이름 변경입니다. 그러나 : waf에게 목표 이름 앞에 lib을 두지 말라고 할 수 있습니까 (아니면 : 그대로 유지되는 자신의 이름을 지정하십시오)?Waf : 파이썬 확장을위한 라이브러리 이름을 지정하십시오.

답변

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") 

을 이제 빌드 디렉토리에 직접적으로 import 일 수있는 myfoo.so이라고하는 공유 라이브러리가 있습니다.

관련 문제