静态库与动态库的制作
代码目录结构
header
-- add.hpp
main.cpp
add.cpp
下载测试代码
1.静态库的制作
libadd.a
1.1g++
- 生成目标文件 g++ -c add.cpp -Iheader
- I 导入头文件
- 生成静态库 ar -crv libadd.a add.o
- c 如果需要生成新的库文件,不要警告
- r 代替库中现有的文件或者插入新的文件
- v 输出详细信息
- 使用该静态库 g++ main.cpp -ladd -L./
- l 使用的库名字
- L 库的路径
1.2cmake
- 生成静态库libadd.a
copy
- 1
- 2
- 3
- 4
add_library(add
STATIC
add.cpp
)
- 链接 libadd.a
copy
- 1
target_link_libraries(main add)
2.动态库的制作
2.1g++
- 生成目标文件 g++ -c add.cpp -Iheader
- I 导入头文件
- 生成动态库 g++ -shared -o libadd.so add.o
- 或合并到一步 g++ -shared -o libadd.so add.cpp -Iheader
- 使用该库 g++ main.cpp -ladd -L./
- l 使用的库名字
- L 库的路径
2.2cmake
- 生成动态库 libadd.dylib
copy
- 1
- 2
- 3
- 4
add_library(add
SHARED
add.cpp
)
- 链接 libadd.dylib
copy
- 1
target_link_libraries(main add)
本文作者:oniisan
本文链接:https://www.cnblogs.com/oniisan/p/libmake.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步