官网地址:http://support.dcmtk.org/redmine/projects/dcmtk/wiki/Howto_CompileAndroid
1.下载最新的dcmtk http://support.dcmtk.org/redmine/attachments/download/77/dcmtk-3.6.1_20150217.tar.gz解压。
2.参照官方wiki http://support.dcmtk.org/redmine/projects/dcmtk/wiki/Howto_CompileAndroid 安装NDK、SDK、CMake、msys。
3.CMake GUI选择dcmtk目录,按照官方wiki添加ANDROID_NDK、ANDROID_SDK_ROOT选择 Android.toolchain.cmake文件。ANDROID_NATIVE_API_LEVEL选18(这个能编译过……)ANDROID_EMULATOR_AVD随便选一个模拟器。
4.修改CMake\dcmtkUseAndroidSDK.cmake的DCMTK_ANDROID_START_EMULATOR函数,直接RETURN(),不起模拟器,(因为CMake一直起不来模拟器……)
5.点击Configure、Gennerate。
6.在dcmtk的编译目录运行<msyspath>\bin\make.exe,我这提示找不到arith.h……
7.保证安装了Visual Studio,在dcmtk目录运行“cmake .”,会默认生成VS的工程文件,再用VS打开,编译。arith.h就在config\include\dcmtk\config生成了,拷贝到ofstd\include\dcmtk\config。
8.再用<msyspath>\bin\make.exe编译,交叉编译完成!!!
9.将编译目录下lib里面需要的.a拷到NDK工程,把需要的头文件也包含进来。Application.mk添加APP_STL := gnustl_static,在Android.mk里面导入对应的.a。
- include $(CLEAR_VARS)
- LOCAL_MODULE := oflog
- LOCAL_SRC_FILES := liboflog.a
- include $(PREBUILT_STATIC_LIBRARY)
-
-
- include $(CLEAR_VARS)
- LOCAL_MODULE := ofstd
- LOCAL_SRC_FILES := libofstd.a
- include $(PREBUILT_STATIC_LIBRARY)
-
-
- include $(CLEAR_VARS)
- LOCAL_MODULE := dcmimgle
- LOCAL_SRC_FILES := libdcmimgle.a
- include $(PREBUILT_STATIC_LIBRARY)
-
-
- include $(CLEAR_VARS)
- LOCAL_MODULE := i2d
- LOCAL_SRC_FILES := libi2d.a
- include $(PREBUILT_STATIC_LIBRARY)
-
-
- include $(CLEAR_VARS)
- LOCAL_MODULE := dcmdata
- LOCAL_SRC_FILES := libdcmdata.a
- LOCAL_STATIC_LIBRARIES += oflog
- LOCAL_STATIC_LIBRARIES += ofstd
- include $(PREBUILT_STATIC_LIBRARY)
-
-
- include $(CLEAR_VARS)
- LOCAL_MODULE := dicom_toolkit
- LOCAL_LDLIBS =-lm -llog
- LOCAL_LDLIBS += -landroid
- LOCAL_LDLIBS += -lz
- LOCAL_CFLAGS += -g -O0
- LOCAL_SRC_FILES += dicom_toolkit.cpp
- LOCAL_STATIC_LIBRARIES += i2d
- LOCAL_STATIC_LIBRARIES += dcmimgle
- LOCAL_STATIC_LIBRARIES += dcmdata
- LOCAL_SHARED_LIBRARIES += sdk
- include $(BUILD_SHARED_LIBRARY)
原文地址:http://blog.csdn.net/newsten/article/details/45820689