我正在开发一个包含多个模块的项目。开发树看起来像:
/work_home/src/...
/work_home/out/bin/ <Here all the executables are built to>
/work_home/out/foo1/lib/ <one .so is built here>
/work_home/out/foo2/lib/ <another .so is built here>
...
/work_home/out/foo42/lib/ <another .so is built here>
现在,以下问题仅适用于我运行在我的开发环境中使用共享库的可执行文件时 - 而不是我们在客户系统上实际部署我们的软件包时。
确保当我运行可执行文件(来自/ work_home / out / bin /)时,它可以加载它需要的任何共享库(它是为/work_home/out/.../lib构建的)的最佳方法/)?
答案 0 :(得分:1)
使用LD_LIBRARY_PATH
;
export LD_LIBRARY_PATH=/work_home/out/foo1/lib:/work_home/out/foo2/lib:$LD_LIBRARY_PATH
./your_executable
在解析库时,这也会查看/work_home/out/foo1/lib
和/work_home/out/foo2/lib
目录。