Linux下g++编译以及使用静态库和动态库的方法详解


当前第2页 返回上一页

Linux下用生成静态库的命令 ar 处理 myAPI.o 文件生成静态库文件,生成的库文件应遵循规范,及linux下库文件加“lib”前缀。所以针对本例,通过如下一条命令即可生成 libmyAPI.a 静态库:

1

ar crv libmyAPI.a myAPI.o

接下来即可在项目编译过程中利用静态库了,此时 myAPI.cpp 这个库函数的定义文件已经不需要了。main.cpp 编译命令如下(注意,依赖的静态库文件要放在被依赖项后面):

1

g++ main.cpp libmyAPI.a -o output

编译通过后即可运行可执行文件 output , 此时 libmyAPI.a 也已经是不需要的了。执行命令并输出结果如下:

1

./output

2.生成动态库并使用

linux下编译时通过 -shared 参数可以生成动态库(.so)文件,如下

1

g++ -shared -fPIC -o libmyAPI.so myAPI.o

生成的动态库在编译时需要声明,运行时需要被依赖。声明如下

1

g++ main.cpp -L. -lmyAPI -o output

”-L.”标记告诉G++函数库可能位于当前目录;使用”-lmyAPI”标记来告诉G++驱动程序在连接阶段引用共享函数库libmyAPI.so。

使用时如果提示如下错误,则将 libmyAPI.so 移到 /usr/lib 目录下即可:

1

./output

以上就是Linux下g++编译以及使用静态库和动态库的方法详解的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

Linux上不了网

windows终端怎么远程连接Linux服务器

让vim更好的工作――vim映射

Linux主流框架运维的工作原理流程解析

Linux中ssh远程登录失败怎么办

通过describenetworkinterfaces查看弹性网卡(eni)列表

Linux系统如何在根目录下创建test目录

根据ecs Linux扩容格式化磁盘提示实现扩容然后将磁盘挂载使用

如何查看Linux内核版本

Linux永久修改主机名

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...