cocos2dx 2.x系列时,还能运行起googleTest,但换成3.x后,googleTest的输出成了红色的小块。网上给出的解决方案是,testing::FLAGS_gtest_color= "no";禁用掉googleTest的颜色显示。但不是根本的解决方法。经过查找,发现在gtest.cc 中void ColoredPrintf(GTestColor color, const char* fmt, ...)函数找到问题。
GetConsoleScreenBufferInfo(stdout_handle, &buffer_info);
const WORD old_color_attrs = buffer_info.wAttributes;
本机应该是FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED ,7白色字体
而关联cocos2dx后却是52428,严重怀疑3.0某个操作影响了屏幕字体颜色。
//SetConsoleTextAttribute(stdout_handle, old_color_attrs);这句先直接设置为白色。
SetConsoleTextAttribute(stdout_handle, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED);
转载自飘渺的云 ,特此感谢 。点击打开链接