Microsoft Visual Studios 2012无法打开“python33.lib”

时间:2013-08-04 14:20:25

标签: c++ visual-c++ visual-studio-2012 boost-python python-embedding

我正在使用MicroSoft Visual Studios 2012中的Boost库来获得一个嵌入Python的C ++程序。问题是当我尝试构建解决方案[F7];我明白了::

Error 1 error LNK1104: cannot open file 'python33.lib' C:\Users\usr\Documents\Visual Studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\LINK

问题是,我不知道这是什么,意味着什么,或任何解决方法的线索。 我已经尝试将我的python文件夹移动到我的桌面,因为它最初是在C:\中,我想也许这是一个权限错误,但是没有做任何事情。

这是我正在阅读的教程中的代码,用于准备porject ::

// ConsoleApplication1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <boost/lambda/lambda.hpp>
#include <boost/python.hpp>

using namespace boost::python;

int main( int argc, char ** argv ) {
  try {
    Py_Initialize();

    object main_module((
      handle<>(borrowed(PyImport_AddModule("__main__")))));

    object main_namespace = main_module.attr("__dict__");

    handle<> ignored(( PyRun_String( "print \"Hello, World\"",
                                     Py_file_input,
                                     main_namespace.ptr(),
                                     main_namespace.ptr() ) ));
  } catch( error_already_set ) {
    PyErr_Print();
  }
}

- Visual Studios 2012 --Windows 7 x64 --Python 3.3.2 - 浏览图书馆 --Python嵌入式C ++程序

- 链接到教程页面:: http://wiki.python.org/moin/boost.python/EmbeddingPython

1 个答案:

答案 0 :(得分:1)

感谢David的所有帮助。

对于遇到此问题的其他人来说,这就是您需要做的事情。

右键单击项目名称(ConsoleApplication1,ect),在C / C ++下,确保您的其他包含目录包括python include,Lib和libs文件夹。以及boost root和boost lib(32/64)文件夹。

在链接器菜单的输入子目录中,对于其他依赖项,您需要将其添加到那里。

C:\Python33\libs\python33.lib
C:\boost_1_54\lib32-msvc-11.0\boost_python-vc110-mt-gd-1_54.lib

或者您的安装目录是什么。以及任何其他所需的文件。 一旦完成,您的项目应该构建。

准备好运行后,您需要将所需的.dll文件复制到构建可执行文件的文件夹中。