Luabind的pure_out_value无法编译。
2013-2-11 0:6:10
收藏:0
阅读:131
评论:1
我在使用Luabind的'pure_out_value'函数属性时遇到了一些问题。在我的情况下,编译时Luabind会发生错误,说需要使用该属性的特定函数的模板没有包含在内。
所使用的代码非常类似于带有Luabind的test_policies.cpp中的代码:
class IConfiguration
{
int GetString( const char* className, const char* entryName, char** ppszOut );
};
module( L )
[
class_< IConfiguration >( "IConfiguration" )
.def( "GetString", &IConfiguration::GetString, pure_out_value(_3) )
];
我尝试编译时得到的错误:
'apply' : is not a member of 'luabind::detail::pure_out_value_policy<N,Policies>::only_accepts_nonconst_references_or_pointers'
'consumed_args' : is not a member of 'luabind::detail::pure_out_value_policy<N,Policies>::only_accepts_nonconst_references_or_pointers'
'consumed_args' : is not a member of 'luabind::detail::pure_out_value_policy<N,Policies>::only_accepts_nonconst_references_or_pointers'
'converter_postcall' : is not a member of 'luabind::detail::pure_out_value_policy<N,Policies>::only_accepts_nonconst_references_or_pointers'
'match' : is not a member of 'luabind::detail::pure_out_value_policy<N,Policies>::only_accepts_nonconst_references_or_pointers'
与环境相关的信息:
- Lua 5.1.4(带有位运算补丁)
- Luabind 0.9.1
- Boost 1.53
- Visual Studio 2012 w/Update 1(使用v110_xp设置进行编译。)
我还尝试了公开已知的针对5.2修补版的Luabind版本(仍然支持5.1),它可以在这里找到:
https://bitbucket.org/cinderblocks/luabind
Luabind的其余部分似乎运作正常,只是pure_out_value策略不行。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

当然,在发帖寻求帮助后,我解决了问题。就是喜欢这种事情发生的时候。
对于任何遇到类似问题的人,问题在于我在使用pure_out_value时使用了错误的参数号码。在我这种情况下,由于这些参数是类成员函数的一部分,我忘记考虑自动发生的“this”参数。因此,而不是_3,应该是_4。
现在运行得很好。 :)