当前位置:首页 » 编程软件 » 编译成so

编译成so

发布时间: 2023-05-17 21:18:11

⑴ 怎样把.c文件编译成.so文件

比如有一个test.c文件,我想打包成动态库test.so,
直接gcc
test.c
-o
test.o
-fpic
gcc
-o
test.so
test.o
-shared
使用的时候发布.so和头文件即可。
链接的时候要记得丢在默认目录或者将其所在目录声明到环境变量,不然有时候会提示找不到这个库文件。

⑵ android开发,怎么使用ndk编译成.so文件

一、首先下载android-ndk,官方网站是:http://developer.android.com/tools/sdk/ndk/index.html
目前最新的版本是android-ndk-r8e-windows-x86.zip,下载地址:
http://dl.google.com/android/ndk/android-ndk-r8e-windows-x86.zip
下载后把压缩解压出来,例如:D:\ndk,目录下的ndk-build.cmd就是用来编译的批处理命令。
二、编译,打开cmd命令行窗口,cd进入目录:D:\ndk\samples\hello-jni,
然后执行命令:D:\ndk\ndk-build.cmd(如果设置过环境变量则直接使用ndk-build.cmd)来编译hello-jni,如果没有错误会输出:
Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
"Compile thumb : hello-jni <= hello-jni.c
SharedLibrary : libhello-jni.so
Install : libhello-jni.so => libs/armeabi/libhello-jni.so
三、创建android应用程序并使用so文件
打开eclipse创建一个android应用程序HelloJni,默认的com.example.hellojni包下面有一个MainActivity.java
在此包下添加一个HelloJni.java,

⑶ 怎么编译生成指定模块的so库文件

android NDK编译多个so文件

android编译系统的makefile文件Android.mk写法如下

(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下

Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:

LOCAL_PATH:=$(call my-dir)

上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。

(2)Android.mk中可以定义多个编译模块,每个编译模块都是以include $(CLEAR_VARS)开始

⑷ 如何在Eclipse中如何用cygwin把C文件编译成so文件

用cygwin把C文件编译成so文件:

1:首先,要准备好一个jni文件夹,里面包含三个文件:

makefile文件:

LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:=test-jni
LOCAL_SRC_FILES := test-jni.c
include $(BUILD_SHARED_LIBRARY)

如果有多个文件,可能有所不同吧,尚未尝试。


头文件:最好使用javah命令来生成,可见我的上一篇文章;

源文件:根据头文件,完善源码


2:将jni文件夹拷贝到Android项目目录下

3:运行cygwin,使用CD命令,切换目录到Android项目目录

4:输入命令$NDK/ndk-build,屏幕显示如下:

$ $NDK/ndk-build
Cygwin : Generating dependency file converter script
Compile thumb : test-jni <= test-jni.c
SharedLibrary : libtest-jni.so
Install : libtest-jni.so => libs/armeabi/libtest-jni.so

表示生成成功。

⑸ 如何把JAVA工程 编译成.SO文件

1,写一个java文件,声明一个native 方法,例如public native void test(); 2,把它编译成class文件 3,使用javah 这个class来生成cpp的头文件 4,实现头文件里面那些函数 4,用ndk编译生成动态库 其中1,想生成几个就写几个native方法。

⑹ 怎样把.c文件编译成.so文件

.so是linux用的
所以 要生成so 需要用gcc
和生成可执行文件类似,只是增加一些编译选项
命令如下
gcc SOURCE_FILES -fPIC -shared -o TARGET
SOURCE_FILES可以是.c文件,也可以是经过-c编译出来的.o文件
TARGET为so文件。

⑺ ndk编译生成so

本文讲述使用Android 的ndk-build来编译生成so库,在命令行中编译。编译后的so库可以调用。
环境问题略过,请自行网络或谷歌安装ndk。

新建文件夹/cn/scnu
并在文件夹中创建java 文件:

该命令会编译java文件并在build目录下生成,然后我们打开build目录

然后我们使用javah命令:

然后会生成一个.h头文件,我们打开这个头文件看看:

可以看到这里面只有一个函数,这个函数返回一个整形,和前面的java头文件对应。
接下来我们另外创建一个Test文件夹,在Test文件夹下创建jni目录,然后将刚才生成的头文件拷贝进来。

然后我们创建JNITest.c文件,文件内容如图:

这个文件的主要内容就是调用头文件并实现头文件中的方法,我们返回了1024。

LOCAL_MODULE 就是我们要生成的so,LOCAL_SRC_FILES就是编译的文件

这里就表示我们要生成的so库的CPU架构。

使用命令行进入到Test目录下,即jni的根目录处,然后打命令:

结果如图,然后我们就可以在libs目录下发现生成的so库了。

python文件编译成so介绍

将其拷贝到python系统路径 /usr/lib/python2.7/site-packages/test
在test目录散凯誉下创建 init .py 与 test.py 文件

上面使用 gcc 将 py 编译成孙芦 so,下面直接使用冲段 python 自带的setup.py 来编译 so

⑼ 多个.c文件能编译成单个.so文件吗

可以的
一般是把多个.c文件 先分别编译成.o文件
然后再把.o文件打包成.so
也可以直接编译打包,一步完成。
命令如下
gcc SOURCE_FILES -fPIC -shared -o TARGET
SOURCE_FILES可以是.c文件,也可以是经过-c编译出来的.o文件
TARGET为so文件。
比如
gcc a.c b.c c.c d.c -fPIC -shared -o libabcd.so

热点内容
易语言管理系统源码 发布:2025-07-15 13:11:49 浏览:947
服务器老是自己关机重启什么原因 发布:2025-07-15 13:11:48 浏览:440
能耗数据库 发布:2025-07-15 12:50:55 浏览:329
谜宫脚本 发布:2025-07-15 12:40:07 浏览:865
安卓手机语音操作在哪里开启 发布:2025-07-15 12:18:49 浏览:284
安卓导航仪上网卡插哪里 发布:2025-07-15 12:01:58 浏览:455
把文件编译成数据 发布:2025-07-15 11:53:16 浏览:543
mt4如何修改密码 发布:2025-07-15 11:53:16 浏览:216
2021思域新款买哪个配置 发布:2025-07-15 11:33:24 浏览:772
路由搭建http服务器 发布:2025-07-15 11:26:45 浏览:724