- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在导入类时使用 Luabind 的属性。这些定义都是正确的,我确信这一点,但是当我调用一个属性时,例如如果它是一个字符串或数字就打印它,我得到这样的东西
function: 009EC440
现在我不知道为什么会这样,但我在互联网上四处看看,发现有几个人有同样的问题。他们说你应该用这些参数构建 Luabind:
bjam toolset=msvc-9.0 variant=debug threading=multi link=shared define=_BIND_TO_CURRENT_VCLIBS_VERSION
现在我已经试过了,但我仍然得到同样的错误。另一件需要注意的事情是我使用的是 MSVC 2012,所以我尝试使用 toolset=msvc-11.0 构建它,但同样无济于事。我读过,如果您不使用 Boost build 来构建您的项目,则需要定义 LUABIND_DYNAMIC_LINK,我也在包含 Luabind 之前就这样做了。这仍然导致了这个错误。我也尝试过自己构建 Luabind,但是在链接它时遇到了麻烦,因为它会引发许多符号错误(我不确定在哪里定义 LUABIND_DYNAMIC_LINK,所以如果有人知道这可能会解决问题)。有谁知道如何解决这个问题?
这是声明属性的代码:
luabind::module(luaState)[
luabind::class_<Weapon>("Weapon")
.def(luabind::constructor<float, float>())
.def_readwrite("onFire", &Weapon::onFireFunc)
.def_readonly("modifier", &Weapon::modifier)
];
他们正试图像这样访问,武器是用它的构造函数声明的 Weapon 类的一个实例:
print(weapon.modifier)
weapon.onFire = onFire
静态链接有效,但我想让它与动态链接一起使用,使用这些参数:
bjam toolset=msvc-9.0 variant=debug threading=multi link=static define=_BIND_TO_CURRENT_VCLIBS_VERSION
最佳答案
我在 VS2008 上遇到了同样的问题。 (发布后 6 个月,但可能对其他人有帮助)
我通过添加 LUABIND_DYNAMIC_LINK 预处理器指令修复了它。
项目->属性->C/C++->预处理器
将 LUABIND_DYNAMIC_LINK 添加到预处理器定义列表中。
我使用与帖子顶部相同的 bjam 命令构建了 luabind。
关于c++ - 如何让 Luabind 属性发挥作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14887246/
在 Play 1.x 中有很棒的 play Idealize(和 play eclipsify),它为您最喜欢的 IDE 中的 Play 项目准备了项目文件。 我看到这是在 Play 2.X 中删除的
我是一名优秀的程序员,十分优秀!