boost.python 使用时注意小事项

boost.python 非常方便而强大,它几乎可以做到不修改原有c++设计就能完成封装,也就是说,只给出编译好的库和头文件,就可以完成封装。我发现有几个要注意的点:

1.要封装的代码编译成库之后再用boost.python封装。

boost.python可以封装编译好的c或c++程序,但是同时也带来了问题,比如,你有一个工程的源代码,不想编译好库再封装,想一次完成,推荐不要这么做。

今天我这么试了一下,发现编译好后,不是以这个python模块为核心,import时会有错误。比如:

编译一个python模块A , 在python中import A ,会给出提示,

ImportError: dynamic module does not define init function initA

所以,为了省事起见,另建一个工程老实地用boost.python引用库吧

2.要有runtime environment 。 
boost库虽然大多数都是头文件,但是编译后也会有lib和dll文件。所以使用boost时,要把运行时所需的模块拷贝过来。对于boost.python来讲,这个模块是 ‘boost_python-vc100-mt-1_51.dll’

你可能感兴趣的:(c,function,python,Module,import)