我在 Kubuntu 上正确安装了一个软件。
现在,我正在修补和测试它的一些库。
如何从 bash 启动软件,以便加载我的修补库而不是官方库?
例如:
官方库位于 /usr/lib/
我的补丁库(在测试开发期间使用)位于 /home/user/dev/lib/
我试过了:
$ set LD_LIBRARY_PATH=/home/user/dev/lib/
$ binary_app &
但无济于事。
我更喜欢可以从 bash 设置的解决方案,但如果不可能,我也可以修改这个 C++ 软件的 cmake 文件。
目的是让我可以使用 vanilla 库或我的修补库轻松启动应用程序以查看差异。
编辑:这是一个 KDE .so 文件
我正在测试的库是 KDE4 库。官方库位于 /usr/lib/kde4/ 中。在该目录中,没有任何库以lib前缀开头。
我是否这样做:
/lib/ld-linux-x86-64.so.2 --list --library-path PATH EXEC
或者
ldd EXEC
该库根本没有列出。
另一方面,如果将原始库从 /usr/lib/kde4/ 移开,应用程序会启动,但相应的功能会丢失。
KDE4 库是否以特定方式加载?也许要设置的变量不同...
编辑 2
所有的答案都是好的和有用的......不幸的是,事实证明问题似乎与lib路径设置无关。我正在处理一个插件架构,并且 .so 加载路径似乎在应用程序的某处被硬编码。我需要在源代码中花费更多时间来了解正在发生的事情......谢谢并向所有人 +1。