如何在Windows平台使用VS搭建C++/Lua的开发环境

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Windows平台使用VS搭建C++/Lua的开发环境相关的知识,希望对你有一定的参考价值。

  环境

    Windows 8.1

    VS2012

    Lua5.2.3

  如何搭建

  1.生成Lua静态库

  (1)下载lua src。

  最新版本是5.2.3。 下载地址。

  (2)新建VS Win32控制台应用程序,取名为Lua。在应用程序设置中选择应用程序类型为静态库,附加选项中取消预编译头的勾选。

  

  (3)在Lua的VS项目文件夹中新建LuaSrc目录,用于存放Lua源码。解压下载的lua src,拷贝src目录下所有 * .c和 * .h文件到LuaSrc。

  (4)在Lua的VS项目文件夹中新建bin目录,用于存放Lua.lib。

  (5)在VS环境中,右键点击Lua项目,选择添加->现有项,导入LuaSrc目录下所有的文件。

  (6)右键点击Lua项目,选择属性,在顶部选择所有配置,然后修改配置属性->常规->输出目录为

  $(SolutionDir)bin

  (7)为了禁止一些安全警告(Windows程序员知道为什么),需要再修改配置属性->C/C++–>预处理器->预处理器定义,在末尾添加

  ;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE

  (8)选择release模式,点击项目,生成Lua.lib即可。Lua.lib生成在bin目录下。

  2.调用Lua静态库

  (1)在Lua解决方案下新建名字为HelloLua的Win32控制台程序,采用默认选项,不做修改。

  (2)右键点击HelloLua项目,选择属性,修改配置属性->C/C++–>附加包含目录,新增

  ..\\LuaSrc

  (3)在修改配置属性->链接器->输入->附加依赖项,新增

  ..\\bin\\Lua.lib

  或者使用代码链接lua库,即在HeloLua.cpp中添加如下代码,

  #pragma comment (lib,"../bin/Lua.lib")

  (4)设置HelloLua项目为默认启动项,点击生成项目即可。

  (5)因为此时main函数并没有执行任何代码,所以控制台一闪而过。右键HelloLua项目的源文件,添加新建项,取名hellolua.lua。

  (6)一个简单的调用示例:

*hellolua.lua*

 print("Hello, Lua")

*HelloLua.cpp*

 #include "stdafx.h"
 #pragma comment (lib,"Lua.lib")

 #include "lua.hpp"

 int _tmain(int argc, _TCHAR* argv[])
 
     lua_State* lua_state = luaL_newstate();
     luaL_openlibs(lua_state);
     luaL_dofile(lua_state,"hellolua.lua");
     lua_close(lua_state);
     getchar();
     return 0;
 

  效果

  

参考技术A 如何搭建
1.生成Lua静态库
(1)下载lua src。
最新版本是5.2.3。 下载地址。
(2)新建VS Win32控制台应用程序,取名为Lua。在应用程序设置中选择应用程序类型为静态库,附加选项中取消预编译头的勾选。

(3)在Lua的VS项目文件夹中新建LuaSrc目录,用于存放Lua源码。解压下载的lua src,拷贝src目录下所有 * .c和 * .h文件到LuaSrc。
(4)在Lua的VS项目文件夹中新建bin目录,用于存放Lua.lib。
(5)在VS环境中,右键点击Lua项目,选择添加->现有项,导入LuaSrc目录下所有的文件。
(6)右键点击Lua项目,选择属性,在顶部选择所有配置,然后修改配置属性->常规->输出目录为
$(SolutionDir)bin
(7)为了禁止一些安全警告(Windows程序员知道为什么),需要再修改配置属性->C/C++–>预处理器->预处理器定义,在末尾添加
;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE
(8)选择release模式,点击项目,生成Lua.lib即可。Lua.lib生成在bin目录下。
2.调用Lua静态库
(1)在Lua解决方案下新建名字为HelloLua的Win32控制台程序,采用默认选项,不做修改。
(2)右键点击HelloLua项目,选择属性,修改配置属性->C/C++–>附加包含目录,新增
..\LuaSrc
(3)在修改配置属性->链接器->输入->附加依赖项,新增
..\bin\Lua.lib
或者使用代码链接lua库,即在HeloLua.cpp中添加如下代码,
#pragma comment (lib,"../bin/Lua.lib")
(4)设置HelloLua项目为默认启动项,点击生成项目即可。
(5)因为此时main函数并没有执行任何代码,所以控制台一闪而过。右键HelloLua项目的源文件,添加新建项,取名hellolua.lua。
(6)一个简单的调用示例:
*hellolua.lua*

print("Hello, Lua")

*HelloLua.cpp*

#include "stdafx.h"
#pragma comment (lib,"Lua.lib")

#include "lua.hpp"

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

lua_State* lua_state = luaL_newstate();
luaL_openlibs(lua_state);
luaL_dofile(lua_state,"hellolua.lua");
lua_close(lua_state);
getchar();
return 0;

效果

3.生成Lua.exe和Luac.exe
由于下载的lua源码中包含lua.c和luac.c,这两个文件都有main入口,同时编译的话会出错,所以只要删除其中一个,另一个就可以正常编译。
(1)新建VS空项目,取名为Lua。
(2)在Lua的VS项目文件夹中新建LuaSrc目录,用于存放Lua源码。解压下载的lua src,拷贝src目录下是所有 * .c和 * .h文件。
(3)在VS环境中,右键点击Lua项目,选择添加->现有项,导入LuaSrc目录下所有的文件。
(4)右键点击Lua项目,选择属性,在顶部选择所有配置,然后修改配置属性->C/C++–>预处理器->预处理器定义,在末尾添加
;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE
(5)在Lua项目的源文件,找到luac.c,右键移除。
(6)选择release模式,点击项目生成lua.exe即可。
(7)同理在同个解决方案下创建LuaC空项目,按以上步骤生成luac.exe。只是第五步要改为“找到lua.c,右键移除”。
(8)lua.exe和luac.exe生成在Lua项目目录下的release目录。

C++调用Lua项目:https://github.com/fusijie/Cpp_Lua_VS2012
Lua和LuaC项目:https://github.com/fusijie/Lua_LuaC_exe
如果你不想这么麻烦,也可以直接从上述2个github地址直接clone我的项目。
原文地址:http://www.fusijie.com/blog/2014/08/31/how-to-complie-cpp-with-lua-in-the-vs/本回答被提问者和网友采纳
参考技术B 下载最新的Microsoft Visual Studio。目前最新的版本是2015版,其中社区版(community)是免费的。下载之后进行安装,安装前请确保你的磁盘上有充足的空间。(至少留出20G,VS的空间占用非常大!)安装完毕后打开Visual Studio,在弹出的提示窗口选择你要使用的开发语言,即可进行开发。

windows 平台使用 VS2017 编译openssl源码

1)依赖安装
安装 perl 脚本解释器
下载 http://libevent.net/download
技术图片
安装 nasm 汇编器
C:\Users\xiaca\AppData\Local\bin\NASM
下载 http://libevent.net/download
默认会安装用户目录
C:\Users\用户名\AppData\Local\bin\NASM
配置windows的环境变量,将此路径加入到环境变量path中
技术图片
安装好后,重新打开控制台能够运行nasm 和perl命令
技术图片
2)编译工具:VS2017社区版本
下载地址
http://ffmpeg.club/tools_download.html
其中c++编译环境一定要安装,有时默认是没选的
3)下载 openssl 1.1.1 源码
下载地址
http://libevent.net/download
4) 编译步骤
(1)进入控制台(运行 CMD),或者编写批处理bat文件,如果输出路径在C盘 用管理员方式登录
(2)运行vs编译环境
打开菜单中VS2017中有对应的命令行工具,把地址复制过来
技术图片
编译32位库版本
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat
编译64位库版本
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
(3)进入openssl源码吗目录
cd openssl-1.1.1
(4)使用perl生成makefile文件
命令说明
perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE } --prefix=%OUTPATH%
VC-WIN32 表示生成32位程序
--prefix 是编译后输出的路径,默认会生成到C:\Program Files (x86)目录
执行命令
perl Configure VC-WIN32
(5)用nmake编译
nmake
编译库源码
nmake test
编译测试程序
nmake install
将编译好的文件安装到指定目录,默认是C:\Program Files (x86)\OpenSSL,如果是在C盘,运行控制台是需要有管理员权限
编译好后生成的文件,用于其他项目库的编译,或者复制到需要编译的路径中
技术图片

如果编译出现问题,也可以直接用我这边编译好的openssl 1.1.1 vs2017 32位库文件
下载地址 http://libevent.net/download
技术图片
https://edu.51cto.com/course/17731.html

以上是关于如何在Windows平台使用VS搭建C++/Lua的开发环境的主要内容,如果未能解决你的问题,请参考以下文章

Windows下使用VS2017搭建FLTK开发环境

windows平台下基于QT和OpenCV搭建图像处理平台

使用vs2010 intellisense不可用于C++/ctl

VS2010在新建项目时报错,错误提示为如图所示:Access to the path 'c:/windows。。。

如何在windows上用C/C++进行OpenGL编程

基于Windows 的 VS Code C/C++ 编译环境搭建