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 查看相關使用 ---------------------

相關文章
相關標籤/搜索