Я пытаюсь использовать свойства Luabind при импорте класса. Определения все правильно, в этом я уверен, но, когда я звоню на имущество, например, для печати, если это строка или число, я получаю что-то вроде этой функцииКак заставить свойства Luabind работать?
: 009EC440
Теперь я понятия не имею, почему это происходит, но я просмотрел в Интернете и нашел нескольких людей с той же проблемой. Они говорят, что вы должны построить Luabind с этими параметрами:
bjam набор инструментов = MSVC-9,0 вариант = отлаживать заправочной = мульти ссылки = общие определения = _BIND_TO_CURRENT_VCLIBS_VERSION
Теперь я попробовал это, но я все еще получаю та же ошибка. Другое дело, что я использую MSVC 2012, поэтому я попытался построить его с помощью toolset = msvc-11.0, но опять же безрезультатно. Я прочитал, что вам нужно определить LUABIND_DYNAMIC_LINK, если вы не используете сборку Boost для создания своего проекта, что я также сделал прямо перед включением 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)
];
И они пытаются получить доступ, как это так, с оружием является экземпляром класса оружия, как заявлено с им конструктору:
print(weapon.modifier)
weapon.onFire = onFire
Статически работы, но я хотел бы, чтобы заставить его работать с динамической компоновки, нно г эти параметры:
bjam набор инструментов = MSVC-9,0 = вариант отладки резьбонарезной = мульти ссылка = статические определить = _BIND_TO_CURRENT_VCLIBS_VERSION