`
iaiai
  • 浏览: 2196894 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ndk-build 出现undefined reference to `__android_log_write'错误

 
阅读更多
__android_log_write(ANDROID_LOG_INFO,"MyNdkDemo", "class Point not found");
.c文件中存在此句代码,当使用ndk-build是就会出现标题错误。
解决:
       mk文件中缺少了LOCAL_LDLIBS参数。
在Android.mk文件里,可以指定一个LOCAL_LDLIBS的参数。如果不指定,那么编译的时候,只会引入默认的几个重要的lib,比如libc之类的。
如果要用log,那就要把 liblog给引进来。
网上很多的写法是 LOCAL_LDLIBS := -llog ,这在build static lib的时候没什么问题。如果是build shared lib,就会报个 cannot find -llog的错误。意思是找不到liblog.so这个库文件。
因此需要改成 LOCAL_LDLIBS :=  -L$(SYSROOT)/usr/lib -llog 才可以正常编译。
其中-L参数是指定了搜索lib的路径。
下面是一个android.mk的内容的例子:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := TestNdkNetwork
LOCAL_SRC_FILES := HttpConnection.cpp
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog(llog 是哪个库?是不是打错了?是liblog)
include $(BUILD_SHARED_LIBRARY)
分享到:
评论

相关推荐

    android-ndk-r20-linux-x86_64.zip

    在实际应用中,NDK的使用通常分为几个步骤:配置NDK环境,编写C/C++代码,创建Android.mk或CMakeLists.txt构建文件,使用ndk-build或Android Studio的CMake插件进行编译,最后将生成的.so文件打包进APK。 然而,NDK...

    android-ndk-r16-windows-x86_64.zip

    android-ndk-r16-windows-x86_64.zip

    android-ndk-r9-windows-x86_64.zip

    《Android NDK R9:深入理解与应用》 Android NDK(Native Development Kit)是Google为Android平台提供的一套工具,允许开发者使用C/C++语言编写应用程序,从而利用原生代码的高性能。本文将深入探讨Android NDK ...

    android-ndk-r18b-windows-x86_64.zip

    使用压缩包内的“android-ndk-r18b”文件,开发者可以按照官方文档进行安装和配置,然后在Android Studio中集成NDK,通过CMake或ndk-build脚本来编译原生代码。同时,开发者需要注意,虽然NDK提供了许多优势,但过度...

    NDK-R12B windows-x86_64百度云盘下载

    NDK-R12B windows-x86_64百度云盘下载,文件比较大,所以转到百度云盘下载了。链接永久有效。

    ndk-build.zip

    5. **使用ndk-build**:现在,你可以在Git Bash中使用常规的“ndk-build”命令,比如`ndk-build clean`清理项目,`ndk-build`编译项目,或者根据你的Android.mk和Application.mk文件进行其他自定义构建操作。...

    android-ndk-r18b-linux-x86_64.zip

    android-ndk-r18b-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip

    安卓NDK android-ndk-r12b-windows-x86_64

    可用于安卓 qt开发 安卓NDK android-ndk-r12b-windows-x86_64

    android-ndk-r15c-linux-x86_64_002

    android-ndk-r15c-linux-x86_64_002 可在linux下编译。

    NDK工具android-ndk-r10e-linux-x86_64

    3. **构建过程:**使用NDK的`ndk-build`脚本来编译本地代码,它会自动处理依赖和生成相应的库文件。 4. **集成到项目:**将编译好的库文件放入Android项目的jniLibs目录,然后通过Gradle或Ant构建系统将它们打包进...

    android-ndk-r10e-windows-x86_64.exe

    android-ndk-r10e-windows-x86_64.exe

    android-ndk-r16b-windows-x86_64.zip

    6. **动态和静态库的打包工具**:如`ndk-build`和`cmake`命令,用于生成.so文件,这些文件可以被Android应用加载并执行。 7. **NDK调试工具**:包括gdb(GNU调试器)和其他调试辅助工具,帮助开发者调试原生代码。 ...

    android-ndk-r19c-linux-x86_64.zip

    echo 'export PATH=$PATH:/opt/android/ndk/android-ndk-r19c' | sudo tee -a ~/.bashrc source ~/.bashrc ``` 现在,NDK已准备就绪。接下来,我们需要安装QT 5.13。访问QT官方网站(https://www.qt.io/download)...

    android studio ndk-build 编译C生成.so文件demo

    Android Studio配合NDK(Native Development Kit)提供了一种原生代码编译工具——`ndk-build`,可以将C/C++代码编译为.so(共享对象)文件,然后在Java层通过JNI(Java Native Interface)调用。本文将详细讲解如何...

    android-ndk-master.zip_android_loose7i8_slippedclf_world

    【标题】"android-ndk-master.zip_android_loose7i8_slippedclf_world" 提示我们这个压缩包可能与Android的NDK(Native Development Kit)有关,同时涉及到"loose7i8"、"slippedclf"和"world"这三个标签。...

    NDK-build-under-ubuntu.rar_Ubuntu!

    unzip android-ndk-r21d-linux-x86_64.zip -d /path/to/your/directory ``` 这里`/path/to/your/directory`应替换为你实际的路径。 **2. 设置环境变量** 为了让系统能够识别NDK,你需要将NDK的路径添加到环境变量...

    ndk-build-examples

    `ndk-build`是Android NDK中用于编译原生代码的命令行工具,它可以自动处理依赖关系,生成.so库文件,供Java代码调用。下面我们将详细讨论`ndk-build`的工作原理和使用步骤,以及如何通过ADB运行可执行文件。 1. **...

    android-ndk-r20-windows-x86_64

    压缩包中的“android-ndk-r20”包含了NDK的所有组件,包括编译器、链接器、头文件、库文件以及用于构建和调试的工具。这些文件按照功能划分为多个目录,例如: - `prebuilt`:包含了预编译的交叉编译工具链,用于...

    android-ndk-r20b-windows-x86_64.zip

    对于64位Windows用户来说,"android-ndk-r20b-windows-x86_64.zip"是一个关键资源,它意味着可以直接在Windows环境中搭建本地开发环境,无需担心系统架构问题。解压后的文件包括了所有必要的工具和库,如编译器、...

    android-ndk-r15c-linux-x86_64-001

    android-ndk-r15c-linux-x86_64.zip 分包压缩的,合并后为一个压缩包,再解压即可.

Global site tag (gtag.js) - Google Analytics