用Windows编译dcmtk太痛苦了http://blog.csdn.net/newsten/article/details/45820689
干脆在linux下编译。
1.编译环境:
下载linux的NDK解压,再生成standalone toolchain,
<ndkpath>/build/tools/make-standalone-toolchain.sh --platform=android-18 --install-dir=my-android-toolchain-path --arch=(x86 or arm)
2.设置环境变量:
export ANDROID_NDK=my-android-toolchain-path
3.cmake配置:
cmake -DCMAKE_TOOLCHAIN_FILE=<dcmtkpath>/CMake/android.toolchain.cmake -DDCMTK_ANDROID_TOOLCHAIN_VERIFIED=TRUE .
4.修改:
<dcmtkpath>/CMake/dcmtkUseAndroidSDK.cmake的DCMTK_ANDROID_START_EMULATOR和DCMTK_SETUP_ANDROID_EMULATOR函数直接RETURN(),这样就用不着AndroidSDK了。
用普通cmake生成的config\include\dcmtk\config\arith.h替换相同目录下的文件。
ofstd\libsrc\ofstd.cc里面的getlogin_r改成getlogin实现,要不在x86下编不过。
5.make -j8编译,交叉编译完成!!!