用vs2013编译lua静态库
用vs2013编译lua静态库
AndyZhouX 发表于3个月前
用vs2013编译lua静态库
  • 发表于 3个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

1.下载lua源码

2.在VS2013中新建一个静态库项目,项目命名为lua  
  a. 选择新建 Win32 console project  

  b. 在wizard界面选择 static Library;不选择Precomplied Header(预编译头)

3.往工程中添加代码  

   a. 复制 F:\lua-5.x\src 目录下的*.h文件到项目的Header Files目录下 

   b. 复制 F:\lua-5.x\src 目录下的*.c文件到项目的Code   Files目录下

        注意: 需要注意的是 lua.c  和luac.c 不能拷贝进去,这两个文件不能编译

4.   配置项目的属性,在项目的“配置属性” 界面中操作  

  a. Configuration Properties -> C/C++  -> General -> Additional Include Directories  

       添加 F:\lua-5.x\src

  b. Configuration Properties -> C/C++  -> Advanced -> compile as  

         这里的选择将影响后面代码中如何指定编译链接方式,后面的测试选择的是Compile as C code

5.  在配置属性->c/c++/预处理器定义下添加_CRT_SECURE_NO_WARNINGS

此时编译就会产生一个静态库了。

 

测试

新建一个新的win32控制台工程Test。配置:

a) 在Test属性中配置VC++ Directories > Library Directories 添加第5步编译出的lualib.lib的路径

b) 在Test属性中配置C/C++ > Genaral > Additional Include Directories 添加lua源代码所在目录

c) 在Test属性中配置Linker > Input > Additional Depencies 添加lualib.lib

添加一个main.cpp

 

#include "stdafx.h"
using namespace std;
#include <iostream>

#pragma comment(lib,"lua.lib")

#include "lua.hpp"

int _tmain(int argc, _TCHAR* argv[])
{

    lua_State *l = luaL_newstate();
    luaL_openlibs(l);
    luaL_dofile(l, "D:/CodeTest/test.lua");
    lua_close(l);
    return 0;
}

标签: Lua
共有 人打赏支持
粉丝 2
博文 45
码字总数 31062
×
AndyZhouX
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: