在程序中链接静态库

编程入门 行业动态 更新时间:2024-10-23 07:29:42

在程序中链接<a href=https://www.elefans.com/category/jswz/34/1771395.html style=静态库"/>

在程序中链接静态库

现在我们把上面src目录中的add.cpp、div.cpp、mult.cpp、sub.cpp编译成一个静态库文件libcalc.a。 

add_library(库名称 STATIC 源文件1 [源文件2] ...) 
link_libraries(<static lib> [<static lib>...])

 参数1:指定出要链接的静态库的名字
可以是全名 libxxx.a
也可以是掐头(lib)去尾(.a)之后的名字 xxx
参数2-N:要链接的其它静态库的名字

如果该静态库不是系统提供的(自己制作或者使用第三方提供的静态库)可能出现静态库找不到的情况,此时可以将静态库的路径也指定出来: 

link_directories(<lib path>)

 CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.0)
project(CALC)
# 搜索指定目录下源文件
file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
# 包含头文件路径
include_directories(${PROJECT_SOURCE_DIR}/include)
# 包含静态库路径,这样就可以找到静态库所在路径了
link_directories(${PROJECT_SOURCE_DIR}/lib)
# 链接静态库
link_libraries(calc)
add_executable(app ${SRC_LIST})

 file中的.cpp其实就是main.cpp,因为源文件已经存储到了静态库中了,

 

因为静态库是不可执行的,所以生生成app可执行文件,运行结果如上图。

当然头文件的指定也是必须要的。

 

更多推荐

在程序中链接静态库

本文发布于:2023-11-15 09:11:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1597227.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:静态   链接   程序

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!