我正在构建一个简单的C++程序,我想暂时用一个系统提供的共享库和它的更新版本替代开发和测试。LD_LIBRARY_PATH vs LIBRARY_PATH
我尝试设置LD_LIBRARY_PATH变量,但链接器(LD)与失败:
在/ usr /斌/劳工处:找不到-lyaml-CPP
我预计,因为工作根据ld的手册页:
链接器使用以下搜索 路径定位所需的共享库 :...对于天然I着墨, 的环境变量 “LD_LIBRARY_PATH”的内容...
然后我尝试设置LIBRARY_PATH,而且工作。
根据GCC手册:
LIBRARY_PATH的值是一个冒号分隔的列表 ,很像PATH。当 配置为本地编译器时,GCC 在搜索特殊链接程序 文件(如果它无法使用 GCC_EXEC_PREFIX找到它们)时尝试搜索如此指定的目录 。使用GCC 进行链接时, 也会使用这些目录搜索 的普通库中的-l选项(但指定以-L指定的目录 )。
正如(GCC)手册所示,LIBRARY_PATH的工作原理是因为我与GCC链接。
但是...
- 因为我用gcc为什么LD为 被称为链接,作为错误信息 建议?
- 有两个变量服务相同的 的目的是什么?有没有其他 区别?
当然LD_LIBRARY_PATH的只对具备动态库 – 2010-11-22 22:11:58
感觉我的观点是,如果我是用LD用于连接(直接), 然后,根据LD手册,LD_LIBRARY_PATH会 被用于搜索包含目录需要链接到我的程序的库 。我必须在这里丢失一些东西。 – 2010-11-22 22:20:29