Linux下用生成静态库的命令 ar 处理 myAPI.o 文件生成静态库文件,生成的库文件应遵循规范,及linux下库文件加“lib”前缀。所以针对本例,通过如下一条命令即可生成 libmyAPI.a 静态库:
1 |
|
接下来即可在项目编译过程中利用静态库了,此时 myAPI.cpp 这个库函数的定义文件已经不需要了。main.cpp 编译命令如下(注意,依赖的静态库文件要放在被依赖项后面):
1 |
|
编译通过后即可运行可执行文件 output , 此时 libmyAPI.a 也已经是不需要的了。执行命令并输出结果如下:
1 |
|
2.生成动态库并使用
linux下编译时通过 -shared 参数可以生成动态库(.so)文件,如下
1 |
|
生成的动态库在编译时需要声明,运行时需要被依赖。声明如下
1 |
|
”-L.”标记告诉G++函数库可能位于当前目录;使用”-lmyAPI”标记来告诉G++驱动程序在连接阶段引用共享函数库libmyAPI.so。
使用时如果提示如下错误,则将 libmyAPI.so 移到 /usr/lib 目录下即可:
1 |
|
以上就是Linux下g++编译以及使用静态库和动态库的方法详解的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《Linux》频道 >>