环境xp sp3 , vs2008 sp1, luabind 0.8.1,lua 5.1.4 , boost 1_36_0
先把lua, luabind 编成静态库,(下图只是debug,release类似):
做完之后整理,lua, luabind 以sdk 形式组织好,我是这样组织:
\luabind_build\sdk\luabind\include
\luabind_build\sdk\luabind\msvc-9.0-sp1\lib
\luabind_build\sdk\lua\include
\luabind_build\sdk\lua\msvc-9.0-sp1\lib
这样,把sdk中的东东保存一份,方便以后使用。写一个MFC小程序测试
1 //关键代码
2 //mfc class function
3 void CMFC_LuaDlg::SetEditText(const char* text)
4 {
5 Edit_1.SetWindowText(text);
6 UpdateData(FALSE);
7 }
8 //register
9 luabind::module(L)
10 [
11 luabind::class_<CMFC_LuaDlg>("mfc_dlg")
12 .def"set_text",&CMFC_LuaDlg::SetEditText)
13 ];
14 //load lua file
15 if (0==luaL_dofile(L,filepath))
16 {
17 ret=true;
18 }
19 //run lua function
20 luabind::call_function<void>(L,"update_text",dlg);
21
脚本内容:
1 function update_text(dlg)
2 dlg:set_text("你好,欢迎来到lua 脚本世界")
3 end
运行结果:
posted on 2009-05-07 00:46
清源游民 阅读(1831)
评论(1) 编辑 收藏 引用 所属分类:
C++ 、
Lua 、
MFC