-1

我正在用 android 工具链编译一个 android 内核。在驱动程序内部,我需要使用双精度算术,但是当我编译时会出现很多错误,每次使用双精度类型都会出错。例如我得到:which is int to double cast

/home/vektor/nckernel/customer/drivers/misc/adc_js.c:288: undefined reference to `__aeabi_i2d'

要编译内核,我使用以下命令:

make ARCH=arm CROSS_COMPILE=/path/to/...-eabi- -j12 uImage

在我的 Makefile 中,我明确地-L/path/to/libgcc.a将 gcc 库链接到 ld 和 gcc。

如何解决这个问题呢?

4

1 回答 1

2

You may not be linking against libgcc for some reason. Until you figure out why, you can work around the problem by adding the following to your Android.mk:

LOCAL_LDFLAGS := $(call link-whole-archives, $(call host-path, $(TARGET_LIBGCC)))
于 2013-03-27T13:18:23.983 回答