2

main.cpp我使用以下方法编译了简单文件android-ndk-r8b

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    puts("!!!Hello World!!!");
    return EXIT_SUCCESS;
}

我使用的命令如下:

.../android-ndk-r8b/ndk-build APP_ABI=x86

从 main.cpp 文件的目录我的 Android.mk 文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS += -fPIC
LOCAL_MODULE := main
LOCAL_SRC_FILES := main.cpp
include $(BUILD_EXECUTABLE)

然后我尝试在 debian x86 上打开这个文件,我得到了这个信息:

./main: 没有这样的文件或目录

然后我使用了命令:

并有信息:

ld:主错误(.eh_frame);不会创建 .eh_frame_hdr 表。
ld:警告:找不到入口符号_start;默认为 0000000008048320

是否可以在常见的 linux x86 发行版上运行通过 android-ndk 编译的文件?

4

1 回答 1

2

不,Android 运行时库与桌面 Linux 不兼容。

请注意,您的 ndk-build 将主要可执行文件放在./libs/x86/

于 2012-09-17T16:19:56.977 回答