文档章节

用vs2013编译lua静态库

AndyZhouX
 AndyZhouX
发布于 2017/08/31 19:28
字数 374
阅读 4
收藏 0
Lua

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;
}

© 著作权归作者所有

共有 人打赏支持
AndyZhouX
粉丝 1
博文 139
码字总数 96678
作品 0
深圳
程序员
VS 2015 - Win XP (v140_xp) 编译工具 ucrtbased.dll缺失

Visual Studio 2015 - Windows XP (v140_xp) 编译工具 ucrtbased.dll缺失 先写结论,最好不要使用VS2015-WinXP编译工具来编译VC++程序,因为你最终会发现,编译出来的程序如果是动态链接到运...

郝槟楠
07/03
0
0
四种环境下编译生成nanomsg库

VS2013编译生成nanomsg库文件 因为工作中用到了nanomsg,又需要编译成库来使用,发现网上资料很少,所以做此记录。 编译准备,CMake工具软件和下载好的nanomsg源码包。我的是CMake 3.6.2,n...

容我三思兮
2017/04/14
0
0
用VC编译lua源码,生成lua语言的解释器和编译器

用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编译源码,我们需要编译: 一个静态库 一个动...

jeffjade
2014/08/31
0
0
关于vs2012/2013的C编译器生成的exe的向后兼容xp的问题

转自:http://blog.sina.com.cn/s/blog_5f2e119b0101s2uy.html 问题一:编译出来的exe在xp上面运行提示“不是有效的win32应用程序” 在vs2012/2013版本里面,其 自带的c编译器cl.exe,若直接...

薛蕊
06/26
0
0
使用VS2013编译ICE静态库

@鉴客 你好,想跟你请教个问题:我最近在学习使用ICE,由于我用的其他库都是使用MT编译的,但是直接用ICE官网下载安装的包不能用MT。。。没办法只能下ICE的源码来编译成静态库。。网上搜到你...

九月城
2015/04/22
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

又一个centos文件顺序导致的问题

背景 新的centos似乎对于文件顺序做了特别的优化 和文件顺序出现的问题确实多了不少 centos7导致的spring循环依赖【实际上和这个问题不一样 不过由此衍生出的问题】 某应用放在新的系统开始报...

Mr_Qi
16分钟前
0
0
阿里云国际版香港CN2测评 月付9美元/30M带宽/1T流量

市面上很多家香港VPS服务商,一直都说阿里云国际版香港CN2线路好,延迟低,速度快,价格便宜流量还多,那么这个香港线路到底怎么样呢?本文从性能、延时、路由、速度方面来全方面测评一下阿里...

flyzy2005
59分钟前
0
0
撤销git commit --amend

it commit -amend之后想撤销 git reset HEAD@{1}

xiaomge
今天
0
0
有意思的TimeUnit

java.util.concurrent.TimeUnit 这个类,相信童鞋们都不陌生。它是一个enum: public enum TimeUnit 好吧,我一直把它当做一个枚举类来用。偶然看到还有别的用法,大吃一斤,原来 TimeUnit 并...

polly
今天
10
0
生成pyc

Python生成pyc文件 pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改...

Mr_Tea伯奕
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部