学习的任务:
1,建立一个静态库和动态库,提供 HelloFunc 函数供其他程序编程使用,HelloFunc
向终端输出 Hello World 字符串。
2,安装头文件与共享库。
将一个函数链接成库供其他程序去使用实现既定的功能。
必备:头文件、源代码文件
生成共享库的指令:ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})
hello是生成共享库的名字,系统会自动在前面加入lib即最后的效果是libhello.so/a
SHARED:是生成库的类型,有三种:SHARPD:动态库,STATIC:静态库 ,MODULE
LIBHELLO_SRC:源代码的名称即通过SET指令设置的名字
3.同时生成动态库和静态库
ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})`
ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC})
SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello")
SET_TARGET_PROPERTIES指令的作用是设置输出的名称,对于动态库,还可以用来指定动态库版本和 API 版本
SET_TARGET_PROPERTIES(hello PROPERTIES VERSION 1.2 SOVERSION 1)
VERSION 指代动态库版本,SOVERSION 指代 API 版本。
通过修改好CMakeLists.txt 文件,之后运行cmake和make指令即可生成共享库