动态库-ndk调用第三方静态链接库

问题描述

ndk调用第三方静态链接库

android ndk调用第三方静态链接库(.a文件)在android里面我要调用客户给的一个.a库(另有一个.h的头文件),我用ndk-build命令把它编译成.so的过程中一直出现问题。cmd提示如下,请问怎么解决,详细一点,各位大神,拜托了!
/i_cheng/android-ndk-r7b-windows/android-ndk-r7b/toolchains/arm-linux-androide bi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../. /arm-linux-androideabi/bin/ld.exe: ERROR: ./obj/local/armeabi/libpw.a(make_pw.o uses VFP register arguments, obj/local/armeabi/libshare.so does not :/i_cheng/android-ndk-r7b-windows/android-ndk-r7b/toolchains/arm-linux-androide bi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../. /arm-linux-androideabi/bin/ld.exe: failed to merge target specific data of file ./obj/local/armeabi/libpw.a(make_pw.o) ollect2: ld returned 1 exit status ake: *** [obj/local/armeabi/libshare.so] Error 1

解决方案

静态链接库的调用

时间: 2024-11-05 16:33:02

动态库-ndk调用第三方静态链接库的相关文章

2014百度校招笔试题之动态链接库&静态链接库详解

1.什么是静态连接库,什么是动态链接库         静态链接库用通俗的话讲,静态库就是将代码编译到一个二进制文件下(通常扩展名为.LIB).然后客户端调用程序,只需要包含相关的.h文件及LIB库文件一起链接到exe文件中.可执行程序发布后,不再需要该.lib文件了. 动态链接库最终将编译出.lib与.dll文件. 注意.lib文件与上面的静态库虽然扩展名相同,但有本质的区别.动态库中的lib文件是动态库的引入库. 该引入库包含被DLL导出的函数和变量的"符号  名".而静态库中的.

android-[NDK]关于NDK调用第三方动态库的问题

问题描述 [NDK]关于NDK调用第三方动态库的问题 假设现在有个动态库libOther.so,我调用了它里面的函数写了动态库libMy.so(以上都是x86下g++直接编译链接的) 现在我有一个android应用打算用libMy.so里的函数,最终封装成NDK下的动态库main.so, 请问在NDK下应该如何build? 本人NDK小白,能否详细说下: 1.两个(Other 和 My)动态库放哪? 2.两个动态库对应的头文件放哪? 3.mk文件应该如何修改? 4.JNI实现的main.cpp应

深析静态链接库和动态链接库相同函数覆盖及库调用顺序问题

注意:编译器为gcc,若使用g++,请在库里面加上extern "C"     两个静态库    首先测试静态链接库,大概的代码如下:    liba.c #include <stdio.h>  #include <stdlib.h>  #include "libA.h"  void libA() {          common();  }     void common()  {          printf("libA c

动态链接导入库与静态链接库

目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称"静态库"),另一种为动态连接库(DLL,以下简称"动态库")的导入库(Import Libary,以下简称"导入库"). 静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起.比如你链接一个静态库,如果其中有错,它会准确的找到是哪个obj有错,即静态lib只是壳子. 动态库一般会有对应的导入库,方便程序静

sta-一个静态链接库调用静态链接库的问题

问题描述 一个静态链接库调用静态链接库的问题 ****第一个静态库: static1.h #ifndef STA123123_H #define STA123123_H extern "C" int add(int a,int b); #endif static1.cpp #include #include "static1.h" int add(int a,int b) { return a+b; } 第二个静态库: static2.h #ifndef STA55

GCC 编译使用动态链接库和静态链接库的方法

1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的,所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用. 2 静态库和动态库的比较 链接静态库其实从某种意义上来说也是一种粘贴复制,只不过它操作的对象是目标代码而不是源码而已.因为静态库被链接后库就直接嵌入可执行文件中了,这样就带来了两个问题. 首先就是系统空间被浪费了.

动态链接库dll,静态链接库lib, 导入库lib

转载地址:http://www.cnblogs.com/chio/archive/2008/08/05/1261296.html   目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称"静态库"),另一种为动态连接库(DLL,以下简称"动态库")的导入库(Import Libary,以下简称"导入库"). 静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一

GCC 编译使用动态链接库和静态链接库

1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用.(TODO:链接动态库时链接阶段到底做了什么) 2 静态库和动态库的比较 链接静态库其实从某种意义上来说也是一种粘贴复制,只不过它操作的对象是目标代码而不是源码而已.因为静态库被链接后库

GCC 编译使用动态链接库和静态链接库的方法_C 语言

1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用.(TODO:链接动态库时链接阶段到底做了什么) 2 静态库和动态库的比较 链接静态库其实从某种意义上来说也是一种粘贴复制,只不过它操作的对象是目标代码而不是源码而已.因为静态库被链接后库