最近需要写一个linux环境下使用的相机SDK。需要利用C语言写一个可以被C/C++调用的动态链接库。
那么如何书写一个动态链接库呢?
为了后面的扩展性,打算使用Cmake工具生成makefile。先建立一下简单的工程,获取SDK的版本信息。
1、环境准备
检测系统是否含有cmake工具
cmake --version
如果出现版本信息,那么就是已经存在cmake工具了。
如果没有,那么使用下面的命令进行安装
sudo apt install cmake
2、编写生成动态连接库的测试工程
文件结构如上图。
文件夹build用来存放cmake执行产生的文件和make执行时候产生的文件
文件夹include用来存放头文件
文件夹lib用来存放生成的动态链接库
文件夹src用来存放源代码
下面查看一下CmakeLists.txt的内容:
cmake_minimum_required (VERSION 2.6) #指定执行cmake的最低版本
project(camera_sdk) #指定工程名
include_directories("include") #指定包含路径
aux_source_directory("${PROJECT_SOURCE_DIR}/src" SRC)#加载源代码
add_library(cam