【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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM