CMake中引入三方库
引入方式
使用本地库构建:Ubuntu
- 通过find模块
- 通过FindPkgConfig导入
使用源码构建:交叉编译
- 已经有使用CMake构建的项目(cJSON,dbus)
- 没有使用CMake构建的项目:
- 手动增加CMake(lvgl库)
- 会写编译脚本:先编译库,然后调用cmake编译项目(curl)
CMake项目引入三方库
三方库:
编译一个三方库之后,会生成一个库配置文件(package config),
比如sqlite3.pc文件:
properties
# Package Information for pkg-config
prefix=/usr/local/Cellar/sqlite/3.35.5
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: SQLite
Description: SQL database engine
Version: 3.35.5
Libs: -L${libdir} -lsqlite3
Libs.private: -lz
Cflags: -I${includedir}
比如dbus-1.pc文件:
properties
dbus-1.pc
original_prefix=/usr/local/Cellar/dbus/1.12.20
prefix=${original_prefix}
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
includedir=${prefix}/include
system_bus_default_address=unix:path=/usr/local/var/run/dbus/system_bus_socket
datarootdir=${prefix}/share
datadir=${datarootdir}
sysconfdir=/usr/local/etc
session_bus_services_dir=${datadir}/dbus-1/services
system_bus_services_dir=${datadir}/dbus-1/system-services
interfaces_dir=${datadir}/dbus-1/interfaces
daemondir=${bindir}
Name: dbus
Description: Free desktop message bus
Version: 1.12.20
Libs: -L${libdir} -ldbus-1
Libs.private:
Cflags: -I${includedir}/dbus-1.0 -I${libdir}/dbus-1.0/include