Clion(CMake⼯具)中引⼊第三⽅库的详细⽅法
前⾔
因为⾃⼰最近在学Redis,想要在C++中获取到Redis内存数据库中的数据,需要使⽤Redis客户端来连接Redis传输命令并接收数据,在Redis官⽅⽹站上推荐的客户端中选择了acl-redis。⽽Clion是⼀款⾮常优秀的C++集成开发环境,Clion选择了CMake作为构建⼯具,所以需要在CMake配置⽂件中进⾏配置。
如何配置
CMake的所有配置都写在⼀个叫的⽂件当中,所有的配置都写在该⽂件当中。
cmake如何使用这是我的⼯程⽬录结构,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引⼊第三⽅库内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论