17

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
4

1 回答 1

2

我解决了这个问题。我没有将函数调用“app_dummy()”放在“android_main”函数的开头。

于 2012-04-25T22:41:02.610 回答