Python论坛  - 讨论区

标题:[python-chinese] Fwd: Python-boost库有没有简单一点的使用办法

2006年02月23日 星期四 15:10

wangmm kernellearn at gmail.com
Thu Feb 23 15:10:12 HKT 2006

在windows下使用boost-python,使用bjam来完成编译感觉太不方便了,不知道面对vc这样的环境有没有比较简单的编译方法呢?

或者说在VC中加入一些库和头文件就能够编译,这样也算是比较方便,不知道大家怎么使用的呢?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060223/a74a6f9a/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年02月23日 星期四 15:17

刘鑫 march.liu at gmail.com
Thu Feb 23 15:17:14 HKT 2006

呵呵,本来就是加入boost/python.hpp和相应的lib就可以用,如果是做C++扩展,就建立dll项目,如果是做嵌入,就爱怎么搞都随便。
那个bjam么,忘了它吧。我觉得boost提供这个方式有点搞怪,就算没有ide,用户不能自己make么?
http://members.gamedev.net/sicrane/articles/EmbeddingPythonPart1.html
这篇文章最后还有一些具体的编译方式,比如完全静态编译(不需要带runtime dll)。

在06-2-23,wangmm <kernellearn at gmail.com> 写道:
>
> 在windows下使用boost-python,使用bjam来完成编译感觉太不方便了,不知道面对vc这样的环境有没有比较简单的编译方法呢?
>
> 或者说在VC中加入一些库和头文件就能够编译,这样也算是比较方便,不知道大家怎么使用的呢?
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


--
欢迎访问:
http://blog.csdn.net/ccat

刘鑫
March.Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060223/963c4182/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年02月23日 星期四 17:32

wangmm kernellearn at gmail.com
Thu Feb 23 17:32:55 HKT 2006

其实只是想做python的C++扩展,是不是建立dll工程,加入boost_python.lib,然后包含头文件就可以了呢?
这个boost_python.lib是不是需要自己来编译呢?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060223/51bc2456/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年02月23日 星期四 18:26

wangmm kernellearn at gmail.com
Thu Feb 23 18:26:50 HKT 2006

试验成功:
1.在Boost库中boost_1_33_1\libs\python\example
执行bjam能够生成boost_python.dll和boost_python.lib
2.建立VC工程,设置类型为Win32 Dll,并使用空的工程。加入C++的python扩展文件。
3.为工程指明Boost的头文件所在地方和Python/include位置。
4.为工程指明boost_python.lib和python24.lib所在位置。
5.编译生成dll文件,就可以直接在python中进行使用了。注意使用的时候需要将boost_python.dll放在能够找到的路径中。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060223/c1c54c4e/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年02月24日 星期五 10:20

helium helium.sun at gmail.com
Fri Feb 24 10:20:32 HKT 2006

做扩展的话,Pyrex是个非常好的选择

在06-2-23,wangmm <kernellearn at gmail.com> 写道:
>
> 其实只是想做python的C++扩展,是不是建立dll工程,加入boost_python.lib,然后包含头文件就可以了呢?
> 这个boost_python.lib是不是需要自己来编译呢?
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060224/1925d66a/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年02月24日 星期五 11:15

wangmm kernellearn at gmail.com
Fri Feb 24 11:15:41 HKT 2006

Cygwin下如何编译呢?搞不定,
$ g++ -c hello.cpp -L/usr/lib/python2.4 -I/usr/include/boost-1_33/
-I/usr/include/python2.4
$ g++ -o hello.dll -shared hello.o boost_python.lib python2.4.lib
第一步能够通过,可是第二步链接的时候报告许多错误。不知道我的用法哪里出了问题?
错误如下:
-----------------------------------------------------------------------------------------------
hello.o:hello.cpp:(.text+0x120): undefined reference to
`__imp___ZN5boost6python
6detail11init_moduleEPKcPFvvE'
hello.o:hello.cpp:(.text$_ZN5boost6python3defIPFPKcvEEEvS3_T_[void
boost::python
::def(char const*, char const* (*)())]+0x6e): undefined
refer
ence to
`__imp___ZN5boost6python6detail17scope_setattr_docEPKcRKNS0_3api6objectE
S3_'
hello.o:hello.cpp:
(.text$_ZN5boost6python6detail17make_function_auxIPFPKcvENS0_2
1default_call_policiesENS_3mpl7vector1IS4_EEEENS0_3api6objectET_RKT0_RKT1_[boost
::python::api::object boost::python::detail::make_function_aux(*)()
, boost::python::default_call_policies, boost::mpl::vector1
>(char
const* (*)(), boost::python::default_call_policies const&,
boost::mpl::vector1 const&)]+0x73): undefined reference to
`__imp___ZN5boost6python7obje
cts15function_objectERKNS1_11py_functionE'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060224/2db4040b/attachment-0001.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年02月24日 星期五 11:54

刘鑫 march.liu at gmail.com
Fri Feb 24 11:54:25 HKT 2006

出现这个问题一般是boost_python.lib没有找到,你再检查下路径。

在06-2-24,wangmm <kernellearn at gmail.com> 写道:
>
> Cygwin下如何编译呢?搞不定,
> $ g++ -c hello.cpp -L/usr/lib/python2.4 -I/usr/include/boost-1_33/
> -I/usr/include/python2.4
> $ g++ -o hello.dll -shared hello.o boost_python.lib python2.4.lib
> 第一步能够通过,可是第二步链接的时候报告许多错误。不知道我的用法哪里出了问题?
> 错误如下:
>
> -----------------------------------------------------------------------------------------------
> hello.o:hello.cpp:(.text+0x120): undefined reference to
> `__imp___ZN5boost6python
> 6detail11init_moduleEPKcPFvvE'
> hello.o:hello.cpp:(.text$_ZN5boost6python3defIPFPKcvEEEvS3_T_[void
> boost::python
> ::def(char const*, char const* (*)())]+0x6e): undefined
> refer
> ence to
> `__imp___ZN5boost6python6detail17scope_setattr_docEPKcRKNS0_3api6objectE
> S3_'
> hello.o:hello.cpp:
> (.text$_ZN5boost6python6detail17make_function_auxIPFPKcvENS0_2
>
> 1default_call_policiesENS_3mpl7vector1IS4_EEEENS0_3api6objectET_RKT0_RKT1_[boost
> ::python::api::object boost::python::detail::make_function_aux> (*)()
> , boost::python::default_call_policies, boost::mpl::vector1
> >(char
> const* (*)(), boost::python::default_call_policies const&,
> boost::mpl::vector1> har const*> const&)]+0x73): undefined reference to
> `__imp___ZN5boost6python7obje
> cts15function_objectERKNS1_11py_functionE'
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


--
欢迎访问:
http://blog.csdn.net/ccat

刘鑫
March.Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060224/8d3a8a93/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年02月24日 星期五 13:08

wangmm kernellearn at gmail.com
Fri Feb 24 13:08:08 HKT 2006

boost_python.lib和python2.4.lib全部都在当前目录下,和hello.o 放在一起。不知道有问题没有?应该能够找到的啊。

On 2/24/06, 刘鑫 <march.liu at gmail.com> wrote:
>
> 出现这个问题一般是boost_python.lib没有找到,你再检查下路径。
>
> 在06-2-24,wangmm <kernellearn at gmail.com> 写道:
> >
> > Cygwin下如何编译呢?搞不定,
> > $ g++ -c hello.cpp -L/usr/lib/python2.4 -I/usr/include/boost-1_33/
> > -I/usr/include/python2.4
> > $ g++ -o hello.dll -shared hello.o boost_python.lib python2.4.lib
> > 第一步能够通过,可是第二步链接的时候报告许多错误。不知道我的用法哪里出了问题?
> > 错误如下:
> >
> > -----------------------------------------------------------------------------------------------
> > hello.o:hello.cpp:(.text+0x120): undefined reference to
> > `__imp___ZN5boost6python
> > 6detail11init_moduleEPKcPFvvE'
> > hello.o:hello.cpp:(.text$_ZN5boost6python3defIPFPKcvEEEvS3_T_[void
> > boost::python
> > ::def(char const*, char const* (*)())]+0x6e):
> > undefined refer
> > ence to
> > `__imp___ZN5boost6python6detail17scope_setattr_docEPKcRKNS0_3api6objectE
> > S3_'
> > hello.o:hello.cpp:
> > (.text$_ZN5boost6python6detail17make_function_auxIPFPKcvENS0_2
> >
> > 1default_call_policiesENS_3mpl7vector1IS4_EEEENS0_3api6objectET_RKT0_RKT1_[boost
> > ::python::api::object boost::python::detail::make_function_aux> > const* (*)()
> > , boost::python::default_call_policies, boost::mpl::vector1
> > >(char
> > const* (*)(), boost::python::default_call_policies const&,
> > boost::mpl::vector1> > har const*> const&)]+0x73): undefined reference to
> > `__imp___ZN5boost6python7obje
> > cts15function_objectERKNS1_11py_functionE'
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
> >
>
>
> --
> 欢迎访问:
> http://blog.csdn.net/ccat
>
> 刘鑫
> March.Liu
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060224/c3bfafc5/attachment-0001.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号