Lua 5.1.2 + luabind 0.7 编译 luabind 0.7 时问题的解决

会出现类似错误:
c:\temp\luabind\src\ref.cpp(95) : error C2062: type 'void' unexpected
c:\temp\luabind\src\ref.cpp(96) : error C2143: syntax error : missing ';' before '{'
c:\temp\luabind\src\ref.cpp(96) : error C2447: '{' : missing function header (old-style formal list?)
c:\temp\luabind\src\ref.cpp(113) : error C2062: type 'int' unexpected
c:\temp\luabind\src\ref.cpp(114) : error C2143: syntax error : missing ';' before '{'
c:\temp\luabind\src\ref.cpp(114) : error C2447: '{' : missing function header (old-style formal list?)
c:\temp\luabind\src\ref.cpp(153) : error C2589: '(' : illegal token on right side of '::'
c:\temp\luabind\src\ref.cpp(153) : error C2059: syntax error : '::'
c:\temp\luabind\src\ref.cpp(157) : error C2589: '(' : illegal token on right side of '::'

需要打开luaconf.h,找到322行:

#undef LUA_COMPAT_GETN
替换成:

#define LUA_COMPAT_GETN
即可解决。

另外需要注意的是,编译时字符集选择不要选择Unicode,选择多字符集貌似是不错的。

时间: 2024-11-01 09:06:12

Lua 5.1.2 + luabind 0.7 编译 luabind 0.7 时问题的解决的相关文章

ubuntu-用omni安卓6.0分支编译twrp recovery出错,

问题描述 用omni安卓6.0分支编译twrp recovery出错, device配置文件从github上下载的,不知道这一步出错到底啥意思,已崩溃!求指点一二 解决方案 图如下!求大神答疑!!

ASP.NET 2.0的编译模型

ASP.NET 2.0支持两种编译模型(Compilation Model):一为动态编译 (Dynamic Compilation),另一个为先行编译(Precompilation). 这让程序设计师可以有更宽广的选择以决定不同网站何时该用何种编译模型 ,不但弹性大大提升,且若采用先行编译网站执行效能还可以更高,分述如下: (一)ASP.NET网站动态编译(Dynamic Compilation) 在ASP.NET 1.0时就已经支持网站动态编译,也就是使用者第一次请求网站网 页时,ASP.N

这段java for循环代码的结果怎么不对呢?DOS 输出结果为800.0,编译也没有啥问题啊。

问题描述 这段java for循环代码的结果怎么不对呢?DOS 输出结果为800.0,编译也没有啥问题啊. 如题,代码如下: public class Example41_3 { public static void main(String args[]){ float i=0; double sum=0; for(i=1;i<=3;i++); { sum+=8*(Math.pow(10.0,(i-1))); } System.out.println("计算8+88+888+8888+--

vc6 0 编译-VC6.0编译问题“link: invalid option -- l”

问题描述 VC6.0编译问题"link: invalid option -- l" VC6.0编译出现以下问题,急问如何解决? Creating library... link: invalid option -- l Try `link --help' for more information. Error executing link.exe. msModule.dll - 1 error(s), 0 warning(s) 解决方案 工程编译选项不正确,查看工程配置

c++-VC++6.0类初始化问题,下面的代码在6.0中编译通不过在GCC中就可以

问题描述 VC++6.0类初始化问题,下面的代码在6.0中编译通不过在GCC中就可以 #include #include using std::string; using std::cout; using std::endl; class Student{ int n; string name; public: Student( int num, string m) : n(num), name( m ) { } void display( void ) { cout << n <<

编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)

编译可在Nexus5上运行的CyanogenMod13.0 ROM (基于Android6.0) 作者:寻禹@阿里聚安全 前言 下文中无特殊说明时CM代表CyanogenMod的缩写. 下文中说的"设备"均指Android设备. proprietary-blobs.txt文件的路径:device/lge/hammerhead/proprietary-blobs.txt 参考资料 How To Build CyanogenMod For Google Nexus 5 ("ham

出错-vc++ 6.0开始编译链接都通过,修改后就不通过了,但是改回之后链接还是不通过?

问题描述 vc++ 6.0开始编译链接都通过,修改后就不通过了,但是改回之后链接还是不通过? void CInputDlg::OnOK() { UpdateData(); m_strName.TrimLeft(); m_strNo.TrimLeft(); if(m_strName.IsEmpty()||m_strNo.IsEmpty()) { MessageBox("姓名或者学号不能为空"); } else { data.OpenFile(); data.InsertStudent(m

hadoop2.2.0源代码编译

一.环境说明 虚拟软件:VMware Workstation 10 虚拟机配置: RHEL Server release 6.5 (Santiago) 2.6.32-431.el6.x86_64 cpu:4核心,内存:4G,硬盘:50G 二.前提条件: 1:将rhel6.5的iso文件作为yum源 2:hadoop-2.2.0-src.tar.gz 3:安装JDK 1.6.0_43 4:安装并配置apache-maven 3.0.5(apache-maven-3.0.5-bin.tar.gz)

Delphi7.0 预编译指令说明

  Delphi7.0 预编译指令说明 A.1 使用编译设置对话框  编译器的编译指令是用于指定编译器对项目编译过程的动作和行为.可以通过[Project]->[Options]-> [Complier]选项页进行设置(快捷键:Crtl+Shift+F11),绝大部分的编译环境都可以通过这一对话框进行调 整,他包含了对代码.语法.调试信息等的设置.  1.代码设置(Code Generation) Optimization: 是否优化代码.包括防止变量到CPU寄存器.合并分解表达式.生成中间变