当前位置: 首页 > 工具软件 > cclog > 使用案例 >

解决CCLOG不输出的问题(linux,eclipse)

卜勇
2023-12-01
环境:cocos2d-x-2.2 ,linux,eclipse
接触cocos2d-x不久,在linux上调试,发现使用CCLOG发现没有输出log信息,暂时用了CCLog代替.
 后来该出现的问题还是出现了:使用CCTextureCache::sharedTextureCache()->dumpCachedTextureInfo()没有输出,查看源代码,发现使用的是CCLOG.
 通过查看CCLOG的定义,发现问题是缺少 COCOS2D_DEBUG 宏定义。
 经过查找资料和一些尝试,最后找到解决的方法,方法是在make文件中加入 COCOS2D_DEBUG 的定义(大于等于1)。
 由于CCLOG是在框架中定义,可以从框架的make文件下手。

 打开项目的make文件,会发现有include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk这一行,

该文件是框架在linux平台相关实现的make文件,找到并打开该文件

 发现有如下定义:

  ifeq ($(DEBUG), 1)
CCFLAGS += -g3 -O0
CXXFLAGS += -g3 -O0
DEFINES += -D_DEBUG -DCOCOS2D_DEBUG=1
OBJ_DIR := $(OBJ_DIR)/debug
LIB_DIR := $(LIB_DIR)/debug
BIN_DIR := $(BIN_DIR)/debug
else
CCFLAGS += -O3
CXXFLAGS += -O3
DEFINES += -DNDEBUG
OBJ_DIR := $(OBJ_DIR)/release
LIB_DIR := $(LIB_DIR)/release
BIN_DIR := $(BIN_DIR)/release
endif



由此可知,可以在make命令后面加上 DEBUG=1 的参数,使其执行DEFINES += -D_DEBUG -DCOCOS2D_DEBUG=1 这一行
 具体在eclipse上,右击项目,Properties,C/C++ build,Builder Settings,Build command,输入make DEBUG=1

  如果Android看不到CCLOG输出,可以打开项目下jni/XX/Application.mk文件,
  在APP_CPPFLAGS : 后面加入 -DCOCOS2D_DEBUG=1
 类似资料: