-
-
VC2008与LUA一起用编译出现问题,求助
-
发表于:
2012-7-24 22:29
5963
-
// MyLUADlg.cpp : 实现文件
//
#include "stdafx.h"
#include "MyLUA.h"
#include "MyLUADlg.h"
extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#ifdef _DEBUG
#pragma comment(lib,"lua514d.lib")
#else
#pragma comment(lib,"lua514.lib")
#endif
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
lua_State * L;
int luaadd ( int x, int y )
{
int sum;
//函数名
lua_getglobal(L, "add");
//第一个参数压栈
lua_pushnumber(L, x);
//第二个参数压栈
lua_pushnumber(L, y);
//调用函数
lua_call(L, 2, 1);
//得到返回值
sum = (int)lua_tonumber(L, -1);
lua_pop(L, 1);
return sum;
}
.........................
void CMyLUADlg::OnBnClickedBtPlay()
{
// TODO: 在此添加控件通知处理程序代码
int sum;
char str[50];
//创建一个指向Lua解释器的指针。
L = lua_open();
//函数加载Lua库
luaL_openlibs(L);
//加载脚本
luaL_dofile(L,"E:\\MyLUA\\MyLUA\\add.lua");
//调用函数
sum = luaadd( 10, 11);
//关闭 释放资源
lua_close(L);
sprintf(str,"%d",sum);
MessageBox(str,NULL,NULL);
}
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib目录保存有LUA514.lib,LUA514d.lib
C:\Program Files\Microsoft Visual Studio 9.0\VC\include目录保存有lauxlib.h,lua.h,lua.hpp,luaconf.h,lualib.h
编译时出现
1>fatal error C1047: 对象或库文件“.\Release\MyLUA.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
1>LINK : fatal error LNK1257: 代码生成失败
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)