XMP 도구 키트를 안드로이드 장치로 이식하려고합니다. 성공적으로 xmpcore를 빌드하고 libXMPCore.so를 가질 수있었습니다. ndk-build를 사용하여 libXMPFile.so를 만들려고 할 때, 내가 이해하지 못하는 몇 가지 문제를 실행하고 있습니다.안드로이드 장치에서 기본 adobe XMP 실행
1) libXMPFile.so는 libXMPCore.so에 의존합니다. libXMPFiles 용 Android.mk에 libXMPCore.so를 포함 시켰습니다. 내 Android.mk는 다음과 같습니다
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Include all cpp file
LOCAL_SRC_FILES := \
../source/WXMPFiles.cpp \
../source/XMPFiles.cpp \
../source/XMPFiles_Impl.cpp \
../../source/XMP_LibUtils.cpp \
../../source/UnicodeConversions.cpp \
../../source/XML_Node.cpp \
../../third-party/zuid/interfaces/MD5.cpp \
../source/FileHandlers/ASF_Handler.cpp \
../source/FileHandlers/AVCHD_Handler.cpp \
../source/FileHandlers/RIFF_Handler.cpp \
../source/FileHandlers/Basic_Handler.cpp \
../source/FileHandlers/FLV_Handler.cpp \
../source/FileHandlers/InDesign_Handler.cpp \
../source/FileHandlers/JPEG_Handler.cpp \
../source/FileHandlers/MP3_Handler.cpp \
../source/FileHandlers/MPEG2_Handler.cpp \
../source/FileHandlers/MPEG4_Handler.cpp \
../source/FileHandlers/P2_Handler.cpp \
../source/FileHandlers/PNG_Handler.cpp \
../source/FileHandlers/PostScript_Handler.cpp \
../source/FileHandlers/PSD_Handler.cpp \
../source/FileHandlers/Scanner_Handler.cpp \
../source/FileHandlers/SonyHDV_Handler.cpp \
../source/FileHandlers/SWF_Handler.cpp \
../source/FileHandlers/TIFF_Handler.cpp \
../source/FileHandlers/Trivial_Handler.cpp \
../source/FileHandlers/UCF_Handler.cpp \
../source/FileHandlers/XDCAM_Handler.cpp \
../source/FileHandlers/XDCAMEX_Handler.cpp \
../source/FormatSupport/ASF_Support.cpp \
../source/FormatSupport/IPTC_Support.cpp \
../source/FormatSupport/MOOV_Support.cpp \
../source/FormatSupport/ISOBaseMedia_Support.cpp \
../source/FormatSupport/PNG_Support.cpp \
../source/FormatSupport/PSIR_FileWriter.cpp \
../source/FormatSupport/PSIR_MemoryReader.cpp \
../source/FormatSupport/QuickTime_Support.cpp \
../source/FormatSupport/Reconcile_Impl.cpp \
../source/FormatSupport/ReconcileIPTC.cpp \
../source/FormatSupport/ReconcileLegacy.cpp \
../source/FormatSupport/ReconcileTIFF.cpp \
../source/FormatSupport/RIFF.cpp \
../source/FormatSupport/RIFF_Support.cpp \
../source/FormatSupport/SWF_Support.cpp \
../source/FormatSupport/TIFF_FileWriter.cpp \
../source/FormatSupport/TIFF_MemoryReader.cpp \
../source/FormatSupport/TIFF_Support.cpp \
../source/FormatSupport/XDCAM_Support.cpp \
../source/FormatSupport/XMPScanner.cpp \
../source/HandlerRegistry.cpp \
../source/FileHandlers/AIFF_Handler.cpp \
../source/FileHandlers/WAVE_Handler.cpp \
../source/FormatSupport/ID3_Support.cpp \
../source/FormatSupport/AIFF/AIFFBehavior.cpp \
../source/FormatSupport/AIFF/AIFFMetadata.cpp \
../source/FormatSupport/AIFF/AIFFReconcile.cpp \
../source/FormatSupport/IFF/Chunk.cpp \
../source/FormatSupport/IFF/ChunkController.cpp\
../source/FormatSupport/IFF/ChunkPath.cpp \
../source/FormatSupport/IFF/IChunkBehavior.cpp \
../source/FormatSupport/WAVE/BEXTMetadata.cpp \
../source/FormatSupport/WAVE/CartMetadata.cpp \
../source/FormatSupport/WAVE/Cr8rMetadata.cpp \
../source/FormatSupport/WAVE/DISPMetadata.cpp \
../source/FormatSupport/WAVE/INFOMetadata.cpp \
../source/FormatSupport/WAVE/PrmLMetadata.cpp \
../source/FormatSupport/WAVE/WAVEBehavior.cpp \
../source/FormatSupport/WAVE/WAVEReconcile.cpp \
../source/NativeMetadataSupport/IMetadata.cpp \
../source/NativeMetadataSupport/IReconcile.cpp \
../source/NativeMetadataSupport/MetadataSet.cpp \
../source/PluginHandler/FileHandlerInstance.cpp \
../source/PluginHandler/HostAPIImpl.cpp \
../source/PluginHandler/Module.cpp \
../source/PluginHandler/OS_Utils_Linux.cpp \
../source/PluginHandler/PluginManager.cpp \
../source/PluginHandler/XMPAtoms.cpp \
../../source/Host_IO-UNIX.cpp \
../../source/XIO.cpp \
../../source/XMPFiles_IO.cpp \
../public/include/client-glue\TXMPMeta.incl_cpp
LOCAL_CPPFLAGS := -std=c++0x
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../../../../android-ndk-r8e/sources/cxx- stl/gnu-libstdc++/4.6/libs/x86/include
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../../../../android-ndk-r8e/sources/cxx- stl/gnu-libstdc++/4.6/include
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../../../../
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../source
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../source
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../..
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../public/include
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../XMPFilesPlugins/api/source
LOCAL_LDLIBS := $(LOCAL_PATH)/../obj/local/armeabi-v7a/libXMPCore.so
LOCAL_MODULE := xmpfile
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
을 그러나, 나는 NDK 빌드를 실행하려고 할 때, 그것은 다음과 같은 링크 오류 불평 : WXMPFiles.o을 : 기능 WXMPFiles_GetXMP_1 목록 :/홈/w18656/작업/xline2 /main-jb-qcpro-4.2-xline/motorola/hal/ispbypass/xmp/XMP-Toolkit-SDK-CS6/XMPFiles/jni/../source/WXMPFiles.cpp:288 : 오류 : 'TXMPMeta, std :: allocator >> :: TXMPMeta (XMPMeta *) '
TXMPMeta 클래스 구현은 상당히 혼란 스럽습니다. 정의가 TXMPMeta.hpp에있는 것처럼 보이고 클래스가 클라이언트 글/TXMPMeta.incl_cpp에 삽입됩니다.
그러나 XMPFiles.mak를 검사했는데 TXMPMeta.incl_cpp는 우리가 컴파일하는 파일 중 하나가 아닙니다. TXMPMeta 클래스의 구현을 어떻게 컴파일합니까? (다른 TXMPxxx.incl_cpp와 동일한 문제)
저는 8e android NDK를 사용 중이며 XMPCore 및 XMPFiles 용 기본 공유 라이브러리를 빌드하려고합니다.
도움 주셔서 감사합니다.
https://github.com/janrueegg/xmp 다음
하면, 안드로이드에 대한 컴파일 ANDROID_NDK을 설정해야 할 수있는 방법입니다 :
포함이 컴파일 :'GREP를 -lr TXMPxxx.incl_cpp .'? – Samveen
그 문제를 해결할 수 있었습니까? –