当前位置: 首页 > 编程笔记 >

Clion(CMake工具)中引入第三方库的详细方法

段干浩荡
2023-03-14
本文向大家介绍Clion(CMake工具)中引入第三方库的详细方法,包括了Clion(CMake工具)中引入第三方库的详细方法的使用技巧和注意事项,需要的朋友参考一下

前言

因为自己最近在学Redis,想要在C++中获取到Redis内存数据库中的数据,需要使用Redis客户端来连接Redis传输命令并接收数据,在Redis官方网站上推荐的客户端中选择了acl-redis。而Clion是一款非常优秀的C++集成开发环境,Clion选择了CMake作为构建工具,所以需要在CMake配置文件中进行配置。

如何配置

CMake的所有配置都写在一个叫CMakeLists.txt的文件当中,所有的配置都写在该文件当中。

这是我的工程目录结构,Include文件夹为acl-redis的所有头文件,lib文件夹为acl-redis的静态库,在下面的介绍过程中会以此为例子来讲解如何引入lib文件夹下的静态库。

声明路径变量

#声明头文件路径
set(INC_DIR ./include)

#声明链接库路径
set(LINK_DIR ./lib)

这里采用的是相对路径的方式来引用头文件和库文件,这样工程位置发生改变的时候,可以不用修改配置文件,其中./表示当前路径。

引入头文件和库文件

#引入头文件
include_directories(${INC_DIR})

#引入库文件
link_directories(${LINK_DIR})

在CMake中,${}的语法含义是获取变量的值,这和shell中获取变量值的方式很相似。在项目中引入了头文件和库文件,这样在编译的时候才知道到哪里去寻找相应的头文件和库文件。

设置编译文件

#添加编译文件
add_executable(TestRedis cluster.cpp)

TestRedis为我在CMake中设置的项目名称(后面会将完整的CMake文件展示出来),cluster.cpp为我要编译的文件。

引入第三方库

#将第三方库链接在一起
target_link_libraries(TestRedis lib_acl_cpp.a lib_acl.a lib_protocol.a pthread)

此时将需要链接的第三方库链接在一起即可。

完整的CMake配置文件

#设置cmake版本
cmake_minimum_required(VERSION 3.15)

#项目名字
project(TestRedis)

#设置编译版本
set(CMAKE_CXX_STANDARD 14)

#设置头文件路径
set(INC_DIR ./include)

#设置链接库路径
set(LINK_DIR ./lib)

#引入头文件
include_directories(${INC_DIR})

#引入库文件
link_directories(${LINK_DIR})

#编译文件
add_executable(TestRedis cluster.cpp)

#将第三方库连接在一起
target_link_libraries(TestRedis lib_acl_cpp.a lib_acl.a lib_protocol.a pthread)

注意事项

C++中第三方库的文件命名是有对应命名规则的,静态库的名称一般是libxxx.a,动态库的一般名称是libxxx.so,在我引入第三方库的时候,如果将库名称lib_acl_cpp.a重命名为acl_app.a再引用的话,将出现找不到库文件的错误,这一点没有找到原因。

CMake配置文件中的一些语句可以适当调整顺序,但add_executable语句必须要在target_link_libraries语句的前面。

到此这篇关于Clion(CMake工具)中引入第三方库的详细方法的文章就介绍到这了,更多相关Clion引入第三方库内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • ThinkCMF第三方类库在simplewind/Core/Library/Vendor 如果你的第三方类库都放在Vendor目录下面,并且都以.php为类文件后缀,也没用采用命名空间的话,那么可以使用系统内置的vendor函数简化导入。例如,我们来导入二维码操作库phpqrcode,把 phpqrcode放到Vendor目录下面,这个时候phpqrcode主文件的路径就是 simplewind/

  • These are 3rd party tools and utilities created by the community and we do not provide any support or warranties for the solutions listed below Python API 封装 (by corpetty) https://github.com/corpetty/

  • 注意: 这些工具并没有经过Gitea的检验,在这里列出它们只是为了便捷. 此列表并不是完整的列表,可以随时咨询如何添加! 持续集成 BuildKite 连接器 Jenkins 插件 Gitea搭配Drone 迁移 Gitea安装脚本 GitHub迁移 移动端 安卓客户端GitNex 编辑器扩展 Gitea的Visual Studio扩展 从 Visual Studio 扩展市场 下载

  • 附录 D. 第三方工具 Subversion的模块设计(在“分层的库设计”一节讨论过)和语言绑定的能力(在“使用 C 和 C++ 以外的语言”一节描述过)使的我们可以作为扩展和后端支持来替代软件的某些部分,在这个附录里,我们会简略介绍一些使用Subversion功能的第三方的工具。关于更新的信息,可以在Subversion的网站(http://subversion.tigris.org/proje

  • 本文向大家介绍Android Studio导入第三方类库的方法,包括了Android Studio导入第三方类库的方法的使用技巧和注意事项,需要的朋友参考一下 一、导入*.jar包 1.直接copy ①复制*.jar包,粘贴到主工程目录的libs下边 ②右键,将此jar包设置成自己的library ③然后在工程右键的选择项目单击Open Module Settings,在Dependencies中

  • 第三方库 ThinkCMF 内置了以下第三方库,如果你项目中需要增加其它第三库,也可以通过 composer自己安装,但以后升级应注意不要覆盖 vendor目录,而是使用 composer update去更新第三方库 "topthink/think-orm": "^2.0", "topthink/think-captcha": "^3.0",