4

ブースト python とビジュアル C++ 2008 Express を使用して、シンプルなハロー ワールドを構築しようとしています。


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 に答える