我怎样才能让JHC与android ndk合作?

时间:2012-04-24 21:00:11

标签: android haskell android-ndk

JHC是一个Haskell编译器,它可以移植生成C代码,然后调用编译器后端来生成可执行文件。

我需要为JHC的运行时系统转储头文件和库,所以android ndk可以用它来编译生成的C代码。

或者,我需要弄清楚如何将android API链接到JHC。

基本上,我如何将JHC插入android ndk后端?

编辑:我使用了JHC可以使用的ndk构建工具之一“build / tools / make-standalone-toolchain.sh”制作了一个独立的编译器。现在我需要找出JHC将我的程序编译成共享对象库的方法,以及如何让JHC不要求“主”函数。

Edit2:我有以下targets.ini和编译脚本。奇怪的是,共享库无法加载。

[android]
cc=arm-linux-androideabi-gcc
cflags+= -shared -fPIC -rdynamic -Wno-all
gc=static
executable_extension=.so
merge=mle32

#!/bin/sh

jhc --cross -mandroid \
 --main=Main.android_main \
 hs/Main.hs -o libs/armeabi/libnative-activity &&   
ant debug &&
ant debug install

1 个答案:

答案 0 :(得分:2)

我弄明白了这个问题。 我没有把函数调用“app_dummy()”放在我的“android_main”函数的开头。