我有一个共享库的问题。 我有一个二进制链接与一些共享库。 我已经用C++编译了所有的gcc -L dirLibraries ecc ecc -llibraryName1 -libraryName2 ecc 现在,如果我启动我的二进制文件告诉我他找不到一个库,如果我从另一个目录启动二进制文件,他告诉我可以找不到另一个图书馆。 我需要做什么来告诉我的二进制文件需要独立加载库的位置,我启动程序的位置?告诉Linux二进制文件加载共享库
1
A
回答
1
有两个环境变量可以帮助:
LD_RUN_PATH
楼,配置一组位置时用来寻找共享库时被搜索。LD_LIBRARY_PATH
用于运行程序以添加要搜索共享库的其他路径。
如何设置环境变量取决于您使用的环境。如果您使用的是壳状bash
或ksh
可以使用
export LD_LIBRARY_PATH=/some/path:/another/path:/as/many/as/you/need
跟随它,节目从这个shell将继承环境变量开始(你可能也想看看相关的文件,例如,)。
如果您使用某种IDE,您可能需要从~/.profile
文件中设置环境变量。
2
您可以将要加载的共享库放入库搜索路径或将包含它们的目录添加到LD_LIBRARY_PATH
。另见Shared Libraries,尤其是。 “第3.2节。库的使用方法”和“第3.3.1节。LD_LIBRARY_PATH”。
相关问题
- 1. 在linux中使用共享库执行二进制文件
- 2. Linux独立于共享库的二进制文件
- 3. 共享库文件加载
- 4. 在Android中共享二进制文件
- 5. Linux:如何将版本信息嵌入共享库和二进制文件?
- 6. 动态加载Linux共享库?
- 7. 由于缺少共享库,二进制文件拒绝运行
- 8. 如何告诉Subversion将文件视为二进制文件?
- 9. 如何告诉TortoiseHg文件不是二进制文件?
- 10. 加载共享库
- 11. Linux共享库
- 12. 告诉sql server做二进制搜索?
- 13. 相同二进制文件中的可执行文件和DLL /共享库
- 14. 告诉git不要合并二进制文件,但要选择
- 15. Linux中的二进制文件加载时间
- 16. 从Linux/Android上的另一个共享库检查加载的共享库
- 17. cppcms - 共享库 - Linux
- 18. Linux共享库C++
- 19. C#加载二进制文件
- 20. Java加载二进制文件
- 21. 告诉rspec不加载文件
- 22. 在Linux中卸载共享库
- 23. 错误加载共享库
- 24. 误加载JNI共享库
- 25. gdb7.7不加载共享库
- 26. 加载多个共享库
- 27. linux共享c库不共享
- 28. 二进制文件下载
- 29. 在Visual Studio中共享二进制文件夹
- 30. 将外部SDK二进制文件共享到WPF和Silverlight
exaclty你可以向我解释如何以及在哪里需要设置envoirment变量吗? – pava91
@ pava91:我已经扩大了答案。 –