我有一个简单的问题。当我打开 VC++,创建一个“空项目”,插入 Lua 5.2.0 源代码,然后编译时,我没有得到任何错误。但是,当我这样做时,除了在开始时选择“Windows 窗体应用程序”之外,我得到了一大堆错误。这可能是什么原因造成的?
编辑:
错误与某些函数的安全版本有关:
1>..\lua-5.2.0\src\lua.c(102): error C3861: 'signal': 找不到标识符
1>..\lua-5.2.0\src\lua.c(178): error C3861: 'signal': 找不到标识符
1>..\lua-5.2.0\src\lua.c(180): error C3861: 'signal': 找不到标识符
1> luac.c
1>..\lua-5.2.0\src\luac.c(43): warning C4996: 'strerror': 这个函数或变量可能不安全。考虑改用 strerror_s。要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS。详情请参见在线帮助。
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(157) :参见“strerror”的声明
1>..\lua-5.2.0\src\luac.c(178): warning C4996: 'fopen': 这个函数或变量可能不安全。考虑改用 fopen_s。要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS。详情请参见在线帮助。
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(234) :参见“fopen”声明
1> lundump.c
1> lvm.c
1>..\lua-5.2.0\src\lvm.c(53): warning C4996: 'sprintf': 这个函数或变量可能不安全。考虑改用 sprintf_s。要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS。详情请参见在线帮助。
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) :参见“sprintf”的声明
1> lzio.c
1> 生成代码...
最佳答案
可能是因为当你创建一个windows窗体应用程序时,它实际上是使用托管的c++(使用.net),我认为lua不兼容。看看http://luaplus.org/那可能就是你要找的。它似乎是任何 .net 语言的 lua(托管 C++ 是)
关于c++ - Lua 和 Visual C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439262/