linux 下编译 .so文件

1.安装相关软件this

https://cmake.org/io

CMake   相关  具体在这里就很少阐述了。编译

验证 编译相关是否安装成功test

$make -vgcc

$gcc -v软件

若是执行以上命令都不出错,恭喜。那就证实安装成功了。List

2. 建立文件夹 和 文件下载

$mkdir t1gc

建立文件方法


//so_test.h:
#include "stdio.h"
void test_a();
void test_b();
void test_c();

//test_a.c:
#include "so_test.h"
void test_a()
{
  printf("this is in test_a...\n");
}


//test_b.c:
#include "so_test.h"
void test_b()
{
  printf("this is in test_b...\n");
}



//test_c.c:
#include "so_test.h"
void test_c()
{
  printf("this is in test_c...\n");
}

****************************** 最好是手敲一遍,减小复制粘贴 ******************************

$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so

执行这句话就会在当前 t1 文件夹下看到 libtest.so 文件了。

----------

下面咱们来看一下CMake命令完成方法

首先 在 t1 下建立 CMakeLists.txt 文件

PS:注意区分大小写 ==大小写 == 大小写

#项目名称

PROJECT(test)

# SET(LIBTEST_SRC [.c文件集合])

SET(LIBTEST_SRC  test_a.c test_b.c test_c.c )

#ADDLIBRARY([文件名.so] 这里的文件名不能和项目名称同样 SHARED ${LIBTEST_SRC  })

ADDLIBRARY(_test SHARED ${LIBTEST_SRC  })

#=====================

执行命令

$CMake ..

$make

成功生成 lib_test.so

 

------------------ 建议能够下载 CMake PDF 查看相关使用 ---------------------

相关文章
相关标签/搜索