静态库与动态库的制作

代码目录结构
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
add_library(add
    STATIC
        add.cpp
)
  • 链接 libadd.a
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
add_library(add
    SHARED
        add.cpp
)
  • 链接 libadd.dylib
target_link_libraries(main add)
posted @ 2022-07-31 10:58  Oniisan_Rui  阅读(80)  评论(0)    收藏  举报