Hi,
I have struggled with it for couple of days~~
we customized Android frameworks by adding a service component into
$ANDROID/frameworks/base/ folder
The service component needs to use $ANDROID/external/jpeg library, but we
got link error:
Our problem could be identified as: *Is it feasible to link $ANDROID/
external/jpeg in $ANDROID/frameworks/base/xyz module, as the $ANDROID/
external/skia module?*
*
*
That is, *How could I link external/jpeg's libjpeg.a into
frameworks/base/xxx ??*
*
*
And, is it possible the namespace?
We include *jpeglib.h* with *extern "C"* declaration, and call libjpeg
functions in *android namespace*.
Does anyone know how to call libjpeg functions in android namespace?
The Android.mk is as follows:
####################
LOCAL_PATH:= $(call my-dir)
#
include $(CLEAR_VARS)
ifeq ($(USE_CAMERA_STUB),)
USE_CAMERA_STUB:= false
ifneq ($(filter sooner generic sim,$(TARGET_DEVICE)),)
USE_CAMERA_STUB:=true
endif #libcamerastub
endif
ifeq ($(USE_CAMERA_STUB),true)
#
# libcamerastub
#
LOCAL_C_INCLUDES := external/jpeg
LOCAL_STATIC_LIBRARIES := libjpeg
LOCAL_SRC_FILES := ...
ifeq ($(TARGET_SIMULATOR),true)
LOCAL_CFLAGS += -DSINGLE_PROCESS
endif
LOCAL_MODULE:= libcamerastub
include $(BUILD_STATIC_LIBRARY)
endif # USE_CAMERA_STUB
#
# libcameraservice
#
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := external/jpeg
LOCAL_SRC_FILES := ...
LOCAL_MODULE:= libcameraservice
LOCAL_SHARED_LIBRARIES:= \
libui \
libutils \
libbinder \
libcutils \
libmedia
LOCAL_PRELINK_MODULE := false
ifeq ($(TARGET_SIMULATOR),true)
LOCAL_CFLAGS += -DSINGLE_PROCESS
endif
LOCAL_STATIC_LIBRARIES := libjpeg
ifeq ($(USE_CAMERA_STUB), true)
LOCAL_STATIC_LIBRARIES += libcamerastub
else
LOCAL_SHARED_LIBRARIES += libcamera
endif
include $(BUILD_SHARED_LIBRARY)
####################
And the errors are:
out/target/product/devkit8000/obj/STATIC_LIBRARIES/libcamerastub_intermediates/libcamerastub.a(xxx.o):
In function `android::xxx::fxn()':
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:314:
undefined reference to `jpeg_std_error'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:315:
undefined reference to `jpeg_CreateCompress'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:322:
undefined reference to `jpeg_stdio_dest'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:341:
undefined reference to `jpeg_set_defaults'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:351:
undefined reference to `jpeg_set_quality'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:354:
undefined reference to `jpeg_set_quality'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:355:
undefined reference to `jpeg_simple_progression'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:360:
undefined reference to `jpeg_start_compress'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:366:
undefined reference to `jpeg_write_scanlines'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:370:
undefined reference to `jpeg_finish_compress'
/work/0xdroid/frameworks/base/camera/libcameraservice/filexxx.cpp:372:
undefined reference to `jpeg_destroy_compress'
collect2: ld returned 1 exit status
make: ***
[out/target/product/devkit8000/obj/SHARED_LIBRARIES/libcamerastub_intermediates/LINKED/libcameraservice.so]
Error 1
make: *** Waiting for unfinished jobs....
~/work/0xdroid$
Best Regards,
Paul Chu
http://www.luke54.org/
<http://www.luke54.org/>耶和華我的磐石,我的救贖主阿,願我口中的言語,心裡的意念,在你面前蒙悅納。~詩1914
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en