再报告一个lua的bug

windows平台下当lua文件执行出错时,以前的版本是会打印出错信息到终端命令窗口的,现在不行了,我看了下,出错时使用的是CCLOG函数,该函数是无法输出信息到终端命令窗口,好像只能输出到VC的输出窗口,而实际上用Lua写的话不需要打开VC,这样就造成了调试的麻烦,我以前都是直接编译好了exe,然后执行就可以看到输出窗口的信息,就能调试了。

于是我就改源码ccluaengine.cpp,把里面的CCLOG都改成了printf,这样可以了。可是又出现了问题,就是android平台又不能输出到eclipse的log了,最后没理法,只好自己定义了一个宏针对两个平台分别输出:
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#define CCLuaError(format, …) cocos2d::CCLog(format, ##VA_ARGS)
#else
#define CCLuaError(format, …) printf(format, ##VA_ARGS)
#endif

不过我觉得这样解决不是理法,最好是下个版本的源码里把这个问题解决下。

  • 本帖最后由 pleasenter 于 2012-9-9 09:54 编辑 *

我一直都是打开的,估计你没试过新版的cocos2dx,以前的1.2版的是可以的。
问题里已经说的很清楚了,是没有输出到命令窗口,而不是没有打开命令窗口。

真是不明白,难道cocos2dx的人都度假去了,这么一个简单的问题理都没人理,不说就改,至少给个收到的信息,我们也好安心啊。

main.cpp里面的宏
#define USE_WIN32_CONSOLE
打开,就有win32下的终端窗口了