静态库与动态库的制作

代码目录结构
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 中国大陆许可协议进行许可。

posted @   Oniisan_Rui  阅读(70)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起