您的位置:首页 > 移动开发 > Android开发

windows下编译dcmtk的Android版本

2015-05-18 13:22 316 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android dcmtk