c++开发的程序,用到一些第三方的动态库,最终打包需要把动态库一起发布。
想请教一下大家平时都是怎么样处理这栋动态库的。
目前我自己的方式如下:
在Windows平台下,把DLL放到应用程序根目录,这样执行程序的时候会自动加载动态库
在Linux平台下,把SO文件和可执行程序一起打包,安装时,在 /etc/ld.so.conf中加入放SO文件的目录路径,然后执行ldconfig
MAC平台的话我还在想办法。
C++开发得比较少,用的方法都比较挫,不知道大家有什么好的办法
c++开发的程序,用到一些第三方的动态库,最终打包需要把动态库一起发布。
想请教一下大家平时都是怎么样处理这栋动态库的。
目前我自己的方式如下:
在Windows平台下,把DLL放到应用程序根目录,这样执行程序的时候会自动加载动态库
在Linux平台下,把SO文件和可执行程序一起打包,安装时,在 /etc/ld.so.conf中加入放SO文件的目录路径,然后执行ldconfig
MAC平台的话我还在想办法。
C++开发得比较少,用的方法都比较挫,不知道大家有什么好的办法
windows
直接把DLL
放在同目录下即可linux
也可以放在同目录,然后使用shell
脚本启动,shell
大致如下:
export LD_LIBRARY_PATH="./" # 设置动态库的路径
# exec ... 执行
修改系统配置的ld.so.conf
不是个好办法,在没有管理员权限的时候MAC
不懂,但是我觉得应该差不多,从直觉上来想OSX
应该能更优雅一点。。
2 回答1.7k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答942 阅读
1 回答1.1k 阅读
2 回答1.1k 阅读
不建议使用so,建议直接 全静态链接。部署简单,类似于go语言,编译后就一个可执行文件。