在Visual C++ Express 10中链接boost::python

3 投票
1 回答
1034 浏览
提问于 2025-04-16 22:36

我在Windows上用Visual C++ Express 2010编译了Python(3.2.1)和boost::python(1_47_0)。虽然boost::filesystem工作得很好,但boost::python却不行(这两个都需要链接库和头文件)。我遇到了这个错误:

2>LINK : fatal error LNK1104: cannot open file 'boost_python-vc100-mt-gd-1_47.lib'

这个错误看起来很清楚,但在stage/lib文件夹里,我能看到一个名为“libboost_python_vc100-mt-gd-1_47.lib”的文件,也就是正确的文件名,只是前面多了个“lib”。奇怪的是,自动链接在filesystem的部分工作得很好,但在Python的部分却不行。如果我把boost::python的库复制一份,然后去掉“lib”这个前缀,链接就没问题了。

这是一个已知的Boost问题,还是说还有其他地方出错了?我可以重命名文件,但如果能省去这一步就更好了。

1 个回答

4

如果你想使用 libboost_* 这些库,你必须先定义 BOOST_PYTHON_STATIC_LIB

撰写回答