VisualStudio2008中Boost.Python的链接器错误

VisualStudio2008中Boost.Python的链接器错误,python,c++,visual-studio,boost,Python,C++,Visual Studio,Boost,我的英语很差,如果你能理解我的问题,我将不胜感激。 我已经安装了Python3.3、boost1.50.0和visualstudio2008,它们都可以正常工作。 现在,强>我想通过使用Boost Python库在C++中嵌入Python 2.7.6,所以我下载了便携Python 2.7.61(从PoababyPython .COM/)。 我下载了boostlib。1.50.0再次将它们提取到另一个路径中,按照建筑教程进行编译。 一切似乎都很好,但当我试图编译我的代码时,我得到了一个链

我的英语很差,如果你能理解我的问题,我将不胜感激。



我已经安装了Python3.3、boost1.50.0和visualstudio2008,它们都可以正常工作。

现在,<>强>我想通过使用Boost Python库在C++中嵌入Python 2.7.6,所以我下载了便携Python 2.7.61(从PoababyPython .COM/)。 我下载了boostlib。1.50.0再次将它们提取到另一个路径中,按照建筑教程进行编译。

一切似乎都很好,但当我试图编译我的代码时,我得到了一个链接器错误

Error LNK1104 cannot open file 'python32.lib'
我不知道为什么它不是“python27.lib”

我很困惑,因为我从未安装Python3.2,我修改了user-config.jam以确保所有路径都重定向到我的可移植Python(2.7)文件夹,并且新的Boost库成功构建,没有出现错误。

几周来,我一直在尝试解决这个问题,使用了很多方法,但仍然不起作用


我所做的一切都是:

< > >下载<强>升压C++库< /St>(BooSt1 150500.z从www. Boosior/Value/Vornon 1L5000.html)

  • 将它们提取到我的boost根路径(D:\Proj\ThirdPartyLib\boost\u 1\u 50\u 0

  • 下载便携式Python 2.7.6.1(从portablepython.com/wiki/PortablePython2.7.6.1/)

  • 将它们提取到D:\Py27Test

  • 修改
    user config.jam
    ,添加以下文本并将其保存到D:\Proj\ThirdPartyLib\boost\u 1\u 50\u 0\

    使用python:2.7:“D:\Py27Test\App”:“D:\Py27Test\App\include”:“D:\Py27Test\App\libs”:

  • 执行Visual Studio命令提示符(x86)

  • cd/D:\Proj\ThirdPartyLib\boost\u 1\u 50\u 0
  • bootstrap
  • bjam--toolset=msvc-9.0--python=2.7--user config=D:\Proj\ThirdPartyLib\boost\u 1\u 50\u 0\user-config.jam--debug配置
    调试信息是:

    注意:[python cfg]正在配置python…


    注意:[python cfg]用户指定版本:“2.7”


    注意:[python cfg]正在检查解释器命令“python”…


    注意:[python cfg]运行命令'DIR/-C/A:S“D:\Py27Test\App\python.exe“2>&1'


    注意:[python cfg]从sys import*;print('version=%d.%d\n平台=%s\n前缀=%s\nexec前缀=%s\nexec可执行=%s%%(version\u info[0],version\u info[1],平台,前缀,exec\u前缀,可执行文件))“2>&1”


    注意:[python cfg]…请求的配置匹配

    注意:[python cfg]此python配置的详细信息:


    注意:[python cfg]解释器命令:“python”

    注意:[python cfg]包含路径:“D:\Py27Test\App\include”

    注意:[python cfg]库路径:“D:\Py27Test\App\libs”


    注意:[python cfg]DLL搜索路径:“D:\Py27Test\App”

  • 执行VisualStudio2008

  • D:\Proj\ThirdPartyLib\boost\u 1\u 50\u 0添加到编译器包含路径
  • D:\Proj\ThirdPartyLib\boost\u 1\u 50\u 0\stage\lib添加到链接器库路径
  • 创建测试代码:

  • #定义BOOST_PYTHON_STATIC_LIB
    #包括
    #包括
    int main(int argc,字符**argv){
    返回0;
    }
    
  • 编译代码,我会得到一个链接器错误(错误LNK1104无法打开文件“python32.lib”

  • 我错过什么了吗?

    或者有没有人有办法解决这个问题?


    提前谢谢

    最后,我解决了这个问题

  • 将D:\Py27Test\App\include添加到编译器包含路径
  • 将D:\Py27Test\App\libs添加到链接器库路径
  • 似乎如果我不包括Python.h,它将链接到一个默认的库文件。
    因此,在我添加了这些路径之后,它现在可以工作了。

    感谢您的通知。是的,但是我不知道在哪里可以找到.lib文件。我试图将Python27.lib重命名为Python32.lib,但没有成功(在运行时崩溃)。我搜索了名称“Python32.lib”,但找不到关于32位库的有用信息。
    #define BOOST_PYTHON_STATIC_LIB
    #include <boost/python.hpp>
    #include <iostream>
    
    int main(int argc, char** argv) {
         return 0;
    }