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ファイルのディレクトリからMyAndroid.mkファイル:

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

それから私はdebianx86でこのファイルを開こうとしました、そして私はこの情報を持っています:

./main:そのようなファイルやディレクトリはありません

それから私はコマンドを使用しました:

ld main

と情報を持っていた:

ld:main(.eh_frame);のエラー。.eh_frame_hdrテーブルは作成されません。
ld:警告:エントリシンボル_startが見つかりません。デフォルトは00000000008048320

一般的なLinuxx86ディストリビューションでandroid-ndkを介してコンパイルされたファイルを実行することは可能ですか?

4

1 に答える 1

2

いいえ、AndroidランタイムライブラリはデスクトップLinuxと互換性がありません。

ndk-buildがメインの実行可能ファイルを./libs/x86/に配置することに注意してください

于 2012-09-17T16:19:56.977 に答える