4

我尝试使用 boost python 和 visual c++ 2008 express 构建简单的 hello world。


E:\Program Files\boost\boost_1_47\我在里面包含了路径

|Tools|Options|VC++ Directories| 对于包含文件(并试图将相同的路径放到所有其他文件中),

但我仍然收到错误
'boost' : is not a class or namespace name

源代码是:

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

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();
  }
}
4

1 回答 1

3

由于 Microsoft 的预编译头文件的工作方式有些奇怪,您总是需要:

#include "stdafx.h" 

...作为您使用它的任何文件中的第一行。之后需要任何其他标题,所以你想要:

#include "stdafx.h"
#include <boost/python.h>
于 2012-04-23T14:03:40.093 回答