如何在linux中使用我自己的动态库(Makefile)

如何在linux中使用我自己的动态库(Makefile),第1张

概述我有一个为 linux设计的c项目(g / raw Makefile),我曾经静态地链接了所有工作正常的东西.现在我想构建静态和动态链接的二进制文件.我的Makefile中使用以下命令来构建动态库(比如libtest): $(CXX)-shared -Wl,-soname,libtest.so.1 -o libtest.so.1.0.0 $(LIBTEST_OBJS) 输出是libtest.so. 我有一个为 linux设计的c项目(g / raw Makefile),我曾经静态地链接了所有工作正常的东西.现在我想构建静态和动态链接的二进制文件.我的Makefile中使用以下命令来构建动态库(比如libtest):

$(CXX)-shared -Wl,-soname,libtest.so.1 -o libtest.so.1.0.0 $(liBTEST_OBJs)

输出是libtest.so.1.0.0,其名称为libtest.so.1

我发现至少有一个符号链接libtest.so – >需要libtest.so.1.0.0来链接我实际使用上面生成的libtest.so.1.0.0库的客户端程序.

在这里我的问题是,如果我想构建我的软件,管理上述符号链接的标准方法是什么?显然,我不希望在我的源目录中有这些额外的东西,但是需要构建我的客户端二进制文件,我是否应该将其创建为构建客户端的临时链接,然后在完成后将其删除?或者我应该创建一个目录来托管生成.so库及其链接,并将所有内容留在那里,直到我做“make install”将它们安装到其他指定的目录中?现在很酷,这样做的标准方法是什么.

或者我生成库的方式可能不正确?我应该生成libtest.so(作为实际的库,而不是链接)来链接我的可执行文件,然后在执行“make install”时重命名库并创建这些链接?

任何输入将不胜感激. 总结

以上是内存溢出为你收集整理的如何在linux中使用我自己的动态库(Makefile)全部内容,希望文章能够帮你解决如何在linux中使用我自己的动态库(Makefile)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1032302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存