将Boost.Python与Visual Studio 8集成

4

我在寻找一份指南,可以帮助我将Boost.Python编译集成到VS 8中。看起来它严重依赖于bjam实用程序来构建源代码,但没有提到如何将其集成到VS 8界面中。

我可以看到bjam程序调用VS 8来完成大部分编译工作。


你想编译 Boost.Python 自身还是只编译使用 Boost.Python 的 Python 扩展模块?后者应该不需要任何特殊要求,只需要一个可用的编译器和链接器即可——例如,我曾经在 Xcode 和 SCons 中完成过这个任务。 - Philipp
我想编译使用Boost.Python的C++扩展。但是当我尝试自己编译并从Python调用.pyd时,我一直收到以下错误: Traceback (most recent call last): File "F:\Visual Studio 2005\Projects\test_vs_proj\debug\hello.py", line 6, in <module> import test_vs_proj ImportError: dynamic module does not define init function (inittest_vs_proj) - Christopher Dorian
重新表述你的问题,并发布一个你试图暴露给Python的代码示例。就目前而言,你的问题可能与使用Visual Studio 8编译或bjam无关。 - Rod
2个回答

3

bjam被用于编译boost库本身(尽管你也可以将其用作代码配置工具)。运行该实用程序应该会编译库,不需要进行任何进一步的工作,据我所知。 就你第二篇帖子中列出的包含和库路径而言,就我所知是正确的(假设你列出的目录路径是正确的,例如:C:\Python27\include)。

当我在使用boost.python时,我发现我无法使用64位版本的Python编译任何C++/Python库。我首先必须删除64位版本并安装32位版本。

此外,只有在#include语句之前包含#define BOOST_PYTHON_STATIC_LIB才能成功编译。我仍然没有弄清楚为什么。

希望我的答案(这是我在该网站上的第一个答案,所以不要对我太苛刻;))对你有所帮助。


0

我找到了问题,感谢Phillip的建议。原来我只需要为VS 8提供正确的头文件和库目录,并将其编译为DLL(而不是控制台程序)。

头文件目录:

  • \boost-python\boost_1_46_1
  • \Python27\include`

库目录:

  • \Python27\libs
  • \boost-python\boost_1_46_1\stage\lib`

有人能确认这些是正确的用于包含和链接的目录吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接