C++程序打包,用cmake构建,如何处理动态链接库

发布于 2022-09-04 08:59:34 字数 272 浏览 14 评论 0

c++开发的程序,用到一些第三方的动态库,最终打包需要把动态库一起发布。
想请教一下大家平时都是怎么样处理这栋动态库的。

目前我自己的方式如下:
在Windows平台下,把DLL放到应用程序根目录,这样执行程序的时候会自动加载动态库
在Linux平台下,把SO文件和可执行程序一起打包,安装时,在 /etc/ld.so.conf中加入放SO文件的目录路径,然后执行ldconfig
MAC平台的话我还在想办法。

C++开发得比较少,用的方法都比较挫,不知道大家有什么好的办法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

且行且努力 2022-09-11 08:59:34

不建议使用so,建议直接 全静态链接。部署简单,类似于go语言,编译后就一个可执行文件。

白龙吟 2022-09-11 08:59:34

windows直接把DLL放在同目录下即可
linux也可以放在同目录,然后使用shell脚本启动,shell大致如下:

export LD_LIBRARY_PATH="./" # 设置动态库的路径
# exec ... 执行

修改系统配置的ld.so.conf不是个好办法,在没有管理员权限的时候
MAC不懂,但是我觉得应该差不多,从直觉上来想OSX应该能更优雅一点。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文