Linux编译静态库、动态库

 

一、Linux上编译静态库

复制代码
# 1.编译成.o文件
gcc -c a.c b.c

// 2.编译成静态库
ar -r liba.a a.o b.o

// 3.链接成可执行文件
gcc main.c -o main -L[库所在路径] -l[库名] 
g++ main.cpp -o main -L./ -la
复制代码

 

 

二、Linux上编译动态库

// 1.把cpp封装成so库
g++ -fPIC -shared -o libxx.so xxx.cpp
g++ -fPIC -shared -o libtest.so test.cpp

// 2.编译
g++ main.cpp -o main -L[库路径] -l[库名]
g++ main.cpp -o main -L./ -ltest

其他程序调用so库,编译时报错,找不到so库解决方法:

方法一:

  把生成的so库拷贝到 /usr/lib 或者 /usr/lib64 文件夹中

 

方法二:

  设置临时环境

LD_LIBRARY_PATH=./
export LD_LIBRARY_PATH

 

posted @   十一的杂文录  阅读(678)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-06-17 记录C++,读文件返回base64数据
2022-06-17 记录C++,base64解码写PDF文件遇到的坑
点击右上角即可分享
微信分享提示