【Android】编译CM10遇到的错误解决方案

错误1:
=====================================================================================================
target thumb C++: gralloc.stuttgart <= hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp: In function 'int framebuffer_device_open(const hw_module_t*, char const*, hw_device_t**)':
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:42:21: note: 'framebuffer_device_t::flags' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:49:21: note: 'framebuffer_device_t::width' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:50:21: note: 'framebuffer_device_t::height' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:57:21: note: 'framebuffer_device_t::stride' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:61:21: note: 'framebuffer_device_t::format' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:68:21: note: 'framebuffer_device_t::xdpi' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:69:21: note: 'framebuffer_device_t::ydpi' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:73:21: note: 'framebuffer_device_t::fps' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:76:21: note: 'framebuffer_device_t::minSwapInterval' should be initialized
hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp:432:37: error: uninitialized const member in 'framebuffer_device_t {aka struct framebuffer_device_t}' using 'new' without new-initializer [-fpermissive]
hardware/libhardware/include/hardware/fb.h:79:21: note: 'framebuffer_device_t::maxSwapInterval' should be initialized
make: *** [/media/scue/Source/JellyBean/out/target/product/stuttgart/obj/SHARED_LIBRARIES/gralloc.stuttgart_intermediates/framebuffer_device.o] Error 1
make: *** Waiting for unfinished jobs....
scue@Link:/media/scue/Source/JellyBean$ 

解决:自从gcc编译器更新至4.6之后出现的;
      把haware_samsung代码切换至jellybean-stable分支;
      或者手动修改hardware/samsung/exynos4/hal/libgralloc_ump/framebuffer_device.cpp此文件;

错误2:
=====================================================================================================
target thumb C++: libhdmiclient <= hardware/samsung/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.cpp
In file included from hardware/samsung/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.cpp:27:0:
hardware/samsung/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.h:37:45: fatal error: surfaceflinger/ISurfaceComposer.h: No such file or directory
compilation terminated.
make: *** [/media/scue/Source/JellyBean/out/target/product/stuttgart/obj/SHARED_LIBRARIES/libhdmiclient_intermediates/SecHdmiClient.o] Error 1
make: *** Waiting for unfinished jobs....
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:480:1: warning: missing initializer for member 'private_module_t::info' [-Wmissing-field-initializers]
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:480:1: warning: missing initializer for member 'private_module_t::finfo' [-Wmissing-field-initializers]
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:480:1: warning: missing initializer for member 'private_module_t::xdpi' [-Wmissing-field-initializers]
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:480:1: warning: missing initializer for member 'private_module_t::ydpi' [-Wmissing-field-initializers]
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:480:1: warning: missing initializer for member 'private_module_t::fps' [-Wmissing-field-initializers]
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:480:1: warning: missing initializer for member 'private_module_t::enableVSync' [-Wmissing-field-initializers]

解决:不知道哪个版本开始,不再使用surfaceflinger/ISurfaceComposer.h,而使用gui/ISurfaceComposer.h; 
      找到hardware/samsung/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.h,把surfaceflinger修改为gui;


错误3:
=====================================================================================================
提示"DEV_NAME"第一次使用(error: 'DEV_NAME' undeclared)。

解决:多是DDC(直接数据控制)没有设置好导致的;
      在device/lenovo/sttutgart/BoardConfig.mk中,添加:
      BOARD_HDMI_DDC_CH := DDC_CH_I2C_7

测试机型:联想K860

你可能感兴趣的:(android)