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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源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文件遇到的坑