0

我将 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:\ 中,我认为这可能是权限错误,但这并没有做任何事情。

这是我为准备项目而阅读的教程中的代码::

// 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 --Boost 库 --Python Embedded C++ 程序

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

4

1 回答 1

1

感谢大卫的所有帮助。

对于遇到此问题的其他任何人,这就是您需要做的。

右键单击项目名称(ConsoleApplication1 等)并在 C/C++ 常规下确保您的其他包含目录包括您的 python 包含、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 文件复制到构建可执行文件的文件夹中。

于 2013-08-05T14:13:54.040 回答