我有VisualStudio2012速成版、Python2.7和Boost 1.54。在
我按照Boost官网的说明在我的机器上安装了Boost,这意味着我遵循了以下步骤:
我下载预构建的二进制文件并将其安装在C:\local\boost_1_54\
。
我运行bjamb2 --build-dir=C:\local\boost_1_54 toolset=msvc11.0 --build-type=complete stage
。
然后我在财产委员会进行了这样的操作:
将C:\local\boost_1_54\libs; C:\local\boost_1_54\lib64-msvc-11.0; C:Python27\libs;
添加到链接器->常规->其他库目录。
我创建了一个空项目,其中的源代码非常简单,如下所示(我实际上试图运行一个hello world示例,但为了排除干扰,不得不减少代码):
#include <boost/python.hpp>
int main()
{
return 0;
}
但是,当我尝试构建解决方案时,会弹出两个错误:
error LNK2001: unresolved external symbol
__imp___Py_NoneStruct
error LNK1120: 1 unresolved externals
我注释了#include <boost/python.hpp>
行,然后错误就消失了。在
让我困惑的是我能找到Python.hpp躺在文件夹里。在
我能知道我错了什么吗?在
=============================================================
编辑:
我试图在代码中使用#include <Python.h>
。但这又带来了另一个错误
error LNK1104: cannot open file 'python27_d.lib'
有人能帮我吗?在
下面的答案试图解决这个问题
_d
后缀表示它正在搜索库的调试版本。Python安装是一个发布版本,因此您不能将调试项目与其链接。在调试/发布
调试版本有符号信息,通常不进行优化。此版本用于调试,其中as Retail version是发布的版本。在
如果您在调试模式下构建项目,它将始终尝试与调试库链接。为了克服这个问题
python27.lib
而不是{python27_d.lib
。参考Python Developer’s Guide包括:
Boost没有包含python api。。。你需要用python27.lib构建boost
相关问题 更多 >
编程相关推荐