VS2013 boost.python 编译错误,请教一下
就一个cpp文件,代码如下,基本上是复制一篇著名的文章(BuildingHybridSystemswithBoost.Python)中的代码,做一个dll给python调...
就一个cpp文件,代码如下,基本上是复制一篇著名的文章(Building Hybrid Systems with Boost.Python)中的代码,做一个 dll 给python调用:
#include "stdafx.h"
#define DLL_API __declspec(dllexport)
using namespace std;
struct World
{
void set(std::string msg) { this->msg = msg; }
std::string greet() { return msg; }
std::string msg;
};
#include <boost/python.hpp>
BOOST_PYTHON_MODULE(hello)
{
class_<World>("World")
.def("greet", &World::greet)
.def("set", &World::set)
;
}
报错如下
1>------ 已启动生成: 项目: MakeDLL, 配置: Debug Win32 ------
1> MakeDLL.cpp
1>d:\vcproject\makedll\makedll\makedll.cpp(50): error C2065: “class_”: 未声明的标识符
1>d:\vcproject\makedll\makedll\makedll.cpp(50): error C2275: “World”: 将此类型用作表达式非法
1> d:\vcproject\makedll\makedll\makedll.cpp(41) : 参见“World”的声明
1>d:\vcproject\makedll\makedll\makedll.cpp(51): error C2228: “.def”的左边必须有类/结构/联合
1> 类型是“const char [6]”
1>d:\vcproject\makedll\makedll\makedll.cpp(52): error C2228: “.def”的左边必须有类/结构/联合
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== 展开
#include "stdafx.h"
#define DLL_API __declspec(dllexport)
using namespace std;
struct World
{
void set(std::string msg) { this->msg = msg; }
std::string greet() { return msg; }
std::string msg;
};
#include <boost/python.hpp>
BOOST_PYTHON_MODULE(hello)
{
class_<World>("World")
.def("greet", &World::greet)
.def("set", &World::set)
;
}
报错如下
1>------ 已启动生成: 项目: MakeDLL, 配置: Debug Win32 ------
1> MakeDLL.cpp
1>d:\vcproject\makedll\makedll\makedll.cpp(50): error C2065: “class_”: 未声明的标识符
1>d:\vcproject\makedll\makedll\makedll.cpp(50): error C2275: “World”: 将此类型用作表达式非法
1> d:\vcproject\makedll\makedll\makedll.cpp(41) : 参见“World”的声明
1>d:\vcproject\makedll\makedll\makedll.cpp(51): error C2228: “.def”的左边必须有类/结构/联合
1> 类型是“const char [6]”
1>d:\vcproject\makedll\makedll\makedll.cpp(52): error C2228: “.def”的左边必须有类/结构/联合
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询