解决方案 »

  1.   

    这个话,需要你先将整个android工程编译一次之后,在编译你的项目
      

  2.   

    cc1: fatal error: out/target/product/Hi3718CV100/obj/SHARED_LIBRARIES/libhikapr_intermediates/atomic/unix/builtins.d: No such file or directorymakefile 有问题吧  能再详细点吗  
    编译的是纯源码吗  
    有用到第三方的静态 或者 动态库吗  
    用的是哪个版本的交叉编译工具 
    -- NDK自动生成的交叉编译工具
    -- 直接在Android项目中 使用 ndk-build 编译  
      

  3.   

    是纯源码,没有改过,交叉编译工具是海思的,android是4.4版本的,mk:
    LOCAL_PATH:= $(call my-dir)
    include $(CLEAR_VARS)# get substituted into some targets
    #
    # Macros for supporting directories
    #

    LOCAL_SRC_FILES:= \
    atomic/unix/builtins.c \
    atomic/unix/ia32.c \
    atomic/unix/mutex.c \
    atomic/unix/ppc.c \
    atomic/unix/s390.c \
    atomic/unix/solaris.c \
    dso/unix/dso.c \
    encoding/apr_escape.c \
    file_io/unix/buffer.c \
    file_io/unix/copy.c \
    file_io/unix/dir.c \
    file_io/unix/fileacc.c \
    file_io/unix/filedup.c \
    file_io/unix/filepath_util.c \
    file_io/unix/filepath.c \
    file_io/unix/filestat.c \
    file_io/unix/flock.c \
    file_io/unix/fullrw.c \
    file_io/unix/mktemp.c \
    file_io/unix/open.c \
    file_io/unix/pipe.c \
    file_io/unix/readwrite.c \
    file_io/unix/seek.c \
    file_io/unix/tempdir.c \
    locks/unix/global_mutex.c \
    locks/unix/proc_mutex.c \
    locks/unix/thread_cond.c \
    locks/unix/thread_mutex.c \
    locks/unix/thread_rwlock.c \
    memory/unix/apr_pools.c \
    misc/unix/charset.c \
    misc/unix/env.c \
    misc/unix/errorcodes.c \
    misc/unix/getopt.c \
    misc/unix/otherchild.c \
    misc/unix/rand.c \
    misc/unix/start.c \
    misc/unix/version.c \
    mmap/unix/common.c \
    mmap/unix/mmap.c \
    network_io/unix/inet_ntop.c \
    network_io/unix/inet_pton.c \
    network_io/unix/multicast.c \
    network_io/unix/sendrecv.c \
    network_io/unix/sockaddr.c \
    network_io/unix/socket_util.c \
    network_io/unix/sockets.c \
    network_io/unix/sockopt.c \
    passwd/apr_getpass.c \
    poll/unix/epoll.c \
    poll/unix/kqueue.c \
    poll/unix/poll.c \
    poll/unix/pollcb.c \
    poll/unix/pollset.c \
    poll/unix/port.c \
    poll/unix/select.c \
    poll/unix/z_asio.c \
    random/unix/apr_random.c \
    random/unix/sha2_glue.c \
    random/unix/sha2.c \
    shmem/unix/shm.c \
    strings/apr_cpystrn.c \
    strinfs/apr_fnmatch.c \
    strings/apr_snprintf.c \
    strings/apr_strings.c \
    strings/apr_strnatcmp.c \
    strings/apr_strtok.c \
    support/unix/waitio.c \
    tables/apr_hash.c \
    tables/apr_skiplist.c \
    tables/apr_tables.c \
    threadproc/unix/proc.c \
    threadproc/unix/procsup.c \
    threadproc/unix/signals.c \
    threadproc/unix/thread.c \
    threadproc/unix/threadpriv.c \
    time/unix/time.c \
    time/unix/timestr.c \
    user/unix/groupinfo.c \
    user/unix/userinfo.cLOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/include/arch \
    $(LOCAL_PATH)/include/arch/unix $(LOCAL_PATH)/include/private

    LOCAL_CFLAGS := -g -o2 -DLINUX -D_REENTRANT -D_GNU_SOURCE -DHAVE_CONFIG_H -fPIC
    LOCAL_LDFLAGS := -lrt -lcrypt  -lpthread -ldl --silent --mode=compile
    LOCAL_MODULE_PRELINKS := false
    LOCAL_MODULE_TAGS := eng
    LOCAL_MODULE := libapr

    include $(BUILD_SHARED_LIBRARY)
      

  4.   

    在 Linux 上用 gcc 能编过吗,  看下 Linux 的makefile另外 移植到Android上的话 不是要使用 NDK 自动生成的交叉编译工具吗
      

  5.   

    gcc 可以编译通过的,交叉编译工具是海思的,我是用android源码环境编译的,在source和lunch的时候应该是可以选择编译工具的,具体不太了解,这个问题好像是可以通过重新编译源码解决,那样太麻烦了
      

  6.   

    你试着用交叉编译工具 编译一个静态库, 然后引入到Android的jni方法使用这个静态库