社区
Linux/Unix社区
帖子详情
如何编译一个静态的so
chen_jun_fen
2005-11-30 04:36:42
比如我的c文件里面用到了 pthread 库,我编译的时候,能不能把pthread一同编译到我的so里面去
谢谢!
...全文
289
11
打赏
收藏
如何编译一个静态的so
比如我的c文件里面用到了 pthread 库,我编译的时候,能不能把pthread一同编译到我的so里面去 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
deutsch
2005-12-03
打赏
举报
回复
在gcc时一定不要家shared
ar cru lib.a lib.o
ranlib lib.a
helijia2001
2005-12-02
打赏
举报
回复
好象是ar crv 命令
chen_jun_fen
2005-12-02
打赏
举报
回复
拿如何编译一个静态的,高人
deutsch
2005-12-02
打赏
举报
回复
so不是静态的,静态的应该是a才对,so是share object
chen_jun_fen
2005-12-02
打赏
举报
回复
急啊,望高人指点
chen_jun_fen
2005-12-02
打赏
举报
回复
好像还是不行,
我用 gcc -c *.cpp
gcc -shared -o libmypro.so *.o
这样编译出来的so,使用的时候,导入so成功,但是导出函数的地址获取不到。
不知道怎么回事
bekars
2005-11-30
打赏
举报
回复
举个例子
gcc -static -lpthread -o program program.c
这个时候你用ldd program会看到这个程序不依赖于任何库。
chen_jun_fen
2005-11-30
打赏
举报
回复
楼上的,能不能给个例子什么的 啊,谢谢了
bekars
2005-11-30
打赏
举报
回复
编译的时候用-static选项
chen_jun_fen
2005-11-30
打赏
举报
回复
楼上的,具体的命令是如何的,能不能给个 信息
bekars
2005-11-30
打赏
举报
回复
可以,你使用静态编译程序就可以了。
编译
静态
库为动态so库
在从事Android开发的过程中,经常会使用到用c或c++编写的第三方的
静态
库,比如对接第三方时,对方不希望提供源码,又比如在我们的
编译
环境下,无法
编译
某个库。这个时候就可以用
静态
库来
编译
成动态库so。之前在网络上看过很多方法,似乎都
编译
失败,因此这里有必要记录一下。 下面以从ffmpeg社区获取到的
静态
库和头文件的例子,来讲解将
静态
库
编译
成动态库so。 编写的Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODUL
android源码中
编译
自己的so库
我们知道,android架构中上层应用是以java来编写的,而底层则用C/C++编写。一般而言,上层android工程师在开发过程中,不会或很少涉及到C/C++层,但项目中一旦涉及到复杂的算法或耗时操作时(例如图像处理等),通常使用C/C++完成算法实现并提供给java层(通过JNI)调用,以此提升软件的运行效率。在这个过程中,C/C++所实现的代码以及JNI调用相关的代码被打包为.so库,这即是
Opencv
静态
库,
编译
和调用
静态
库,
静态
库链接另
一个
静态
库
Opencv
静态
库,
编译
和调用
静态
库,
静态
库链接另
一个
静态
库,ubuntu qt
android.bp
编译
生成so,Android导入第三方
静态
库.a
编译
成动态库.so
在Android开发的时候,经常会使用到用c或c++编写的第三方的
静态
库。如果有源码的话,可以直接跟你自己的代码一去
编译
成动态库so,但是如果没有源码的话,你就必须在自己的动态库so里面将别人生成好的
静态
库导入进来一起
编译
了。我在
编译
的时候遇到了不少问题,我觉得有必要进行总结一下。下面我以
一个
简单的实际例子来讲解如何在动态库中导入
静态
库。
静态
库中的源代码有两个文件:static.h, static...
androidNDK 交叉
编译
+
静态
编译
和动态
编译
.a和 .so库的引用
文章目录配置观景变量新建.h .c 文件并交叉
编译
出
静态
库和动态库AS加载使用
静态
库和动态库Android Studio mk方式加载
静态
库Android Studio 通过 CMake加载
静态
库和动态库 我是在 Linux 上
编译
的方式 配置观景变量 下载好 NDK 我这里学习采用的是 R17版本 gcc 方式
编译
后面的版本采用 cLang
编译
配置环境变量。我直接添加到了 .bash_profile 结尾 export NDK_ARM_GCC="/root/ndk/android-ndk-r17c
Linux/Unix社区
23,215
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章