在3.2rc1中,我添加了一个自定义的库,这个库使用c制作,在3.2中,放在quick\lib\lua_extension下面,在lua_extensions.c中include,加上luaopen的入口即可使用。
最近计划升级到3.3,在迁移的过程中,发现在目录改变后,这个库在3.3的工程下,应该是放在quick\lib\quick-src\lua_extensions这里,并在lua_extensions_more.c中进行include。
在设置完成后,mac下,使用xcode编译一次通过,非常顺利,功能的测试也没有任何的问题。
但是win32下,使用VS编译,发现了这个库中产生了N多语法错误。进去一看,发现这个C的库,在VS中,便是typename这样的也被自动显示为关键字 ------ typename在C里面并不是关键字。
在找不到解决方案的前提下,我打开3.2的工程进行对比,发现在3.2的工程打开这个文件,其中typename没有显示为关键字。只有在win平台VS2013下,并且是v3.3rc1的工程下,vs才会将这个自定义的库里面的.C文件里面的typename认作是关键字。(同为3.3rc1的工程,在xcode下,这个typename就不是关键字)
按照这个对比法,感觉应该是VS的工程环境设置,但是却不知道如何定位到这个问题,请问开发人员可否帮忙解决或指导一下问题原因。
另外,我试过在文件中增加#ifdef __cplusplus
extern “C” {
#endif
并没有起到作用。
开发确实可以在mac下面,但是策划和测试们都是windows的机器啊,还是要编译windows给他们用啊。。。求指导解决方法,感激不尽~~~