社区
C语言
帖子详情
LD_LIBRARY_PATH环境变量 与-L
solookin
2010-03-30 10:32:43
问一个问题(gcc):
LD_LIBRARY_PATH环境变量 和 编译时使用-L参数是不是等价的?
我觉得都是指定库的路径。
它们之间有区别吗?谢谢
...全文
673
11
打赏
收藏
LD_LIBRARY_PATH环境变量 与-L
问一个问题(gcc): LD_LIBRARY_PATH环境变量 和 编译时使用-L参数是不是等价的? 我觉得都是指定库的路径。 它们之间有区别吗?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
solookin
2010-03-30
打赏
举报
回复
OK,结贴了
pengxn
2010-03-30
打赏
举报
回复
[Quote=引用 9 楼 solookin 的回复:]
引用 8 楼 pengxn 的回复:
要明白,编译和链接是2回事
LD_LIBRARY_PATH链接时使用
-L编译时使用,分开了解
据我所知,-L是链接时使用。
而上面有人说LD_LIBRARY_PATH是运行时使用。
你却说LD_LIBRARY_PATH是链接时使用。。。
[/Quote]对,打错字了。LD_LIBRARY_PATH是运行时使用
solookin
2010-03-30
打赏
举报
回复
[Quote=引用 8 楼 pengxn 的回复:]
要明白,编译和链接是2回事
LD_LIBRARY_PATH链接时使用
-L编译时使用,分开了解
[/Quote]
据我所知,-L是链接时使用。
而上面有人说LD_LIBRARY_PATH是运行时使用。
你却说LD_LIBRARY_PATH是链接时使用。。。
pengxn
2010-03-30
打赏
举报
回复
[Quote=引用 7 楼 solookin 的回复:]
那就是LD_LIBRARY_PATH与编译没有关系呗?
还有一个问题,就是ld这个连接程序的名字是哪个英文的缩写?想也想不出来。
解决了就给结贴了。。。。
[/Quote]
要明白,编译和链接是2回事
LD_LIBRARY_PATH链接时使用
-L编译时使用,分开了解
solookin
2010-03-30
打赏
举报
回复
那就是LD_LIBRARY_PATH与编译没有关系呗?
还有一个问题,就是ld这个连接程序的名字是哪个英文的缩写?想也想不出来。
解决了就给结贴了。。。。
solookin
2010-03-30
打赏
举报
回复
[Quote=引用 1 楼 pengxn 的回复:]
:Linux系统中,通常变量 LD_LIBRARY_PATH就是能用来指定函数库查找路径的,而且这个路径通常是在查找标准的路径之前查找。
[/Quote]
-L也有这个功能,谢谢
FancyMouse
2010-03-30
打赏
举报
回复
LD_LIBRARY_PATH还提供运行时链接库的候选路径。这个和编译完全没关系。
pengxn
2010-03-30
打赏
举报
回复
分数不给我就太坏了
yanran_hill
2010-03-30
打赏
举报
回复
不一样,
LD_LIBRARY_PATH是环境变量,用于程序运行时,搜索.so的路径
而-L,是编译时查找.o或者.so文件所在的目录,用于连接生成可执行文件
pengxn
2010-03-30
打赏
举报
回复
指定完整的绝对路径
$ cc -o a.out main.c /prod/lib/libabc.a
指定相对路径
$ cc -o a.out main.c ../../prod/lib/libabc.a
指定当前目录下的库
$ ls main.c libabc.a
libabc.a main.c
$ cc -o a.out main.c libabc.a
指定库文件名和搜索路径
$ cc -o a.out main.c -L/prod/lib –labc
后面2种编译出来的程序,可以在任意目录下执行
注意当使用-bnoipath时,不会执行文件的头区保存路径信息。
头区保存路径信息,会影响执行时候,库的搜索路径。对于编译期路径的指定和执行期路径的搜索是2个不同的概念,注意不要混淆。
pengxn
2010-03-30
打赏
举报
回复
不是的
:Linux系统中,通常变量 LD_LIBRARY_PATH就是能用来指定函数库查找路径的,而且这个路径通常是在查找标准的路径之前查找。这个是非常有用的,特别是在调试一个新的函数库的时候,或在特别的场合使用一个非标准的函数库的时候。环境变量LD_PRELOAD列出了所有共享函数库中需要优先加载的库文件,功能和 /etc/ld.so.preload类似。这些都是有/lib/ld-linux.so这个loader来实现的。值得一提的是, LD_LIBRARY_PATH能在大部分的UNIX-linke系统下正常起作用,不过并非所有的系统下都能使用,例如HP-UX系统下,就是用 SHLIB_PATH这个变量,而在AIX下则使用LIBPATH这个变量。
Linux下的
LD
_
LIBRARY
_
PATH
环境变量
的设置
在linux下的
LD
_
LIBRARY
_
PATH
环境变量
是基于shell的,只有在当前设置了的shell里才会有作用,在~/目录下打开.bashrc文件,设置
环境变量
LD
_
LIBRARY
_
PATH
后,会一直起作用,打开新的shell不用每次都设置
LD
_
LIBRARY
_
PATH
...
LD
_
LIBRARY
_
PATH
详解
LD
_
LIBRARY
_
PATH
是Linux
环境变量
名,该
环境变量
主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。 非常多的软件没有root权限安装会比较困难,主要就是因为各种系统库文件,也就是
LD
_
LIBRARY
_
PATH
...
【c++】——
LIBRARY
_
PATH
和
LD
_
LIBRARY
_
PATH
环境变量
的区别
转载自:...
LIBRARY
_
PATH
环境变量
用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目.
linux
环境变量
LIBRARY
_
PATH
和
LD
_
LIBRARY
_
PATH
两个
环境变量
的不同1.2.使用场景2.配合CMake实验测试2.0.文件结构2.1.测试1:
LIBRARY
_
PATH
包含库目录,
LD
_
LIBRARY
_
PATH
不包含2.2.测试2:
LIBRARY
_
PATH
不包含库目录,
LD
_
LIBRARY
_
PATH
包含库目录2.3.测试3:
LIBRARY
_...
LD
_
LIBRARY
_
PATH
环境变量
的设置
LD
_
LIBRARY
_
PATH
环境变量
的设置 在linux下的编程,毫无疑问的迟早都要用到
LD
_
LIBRARY
_
PATH
这个
环境变量
,不过这个
环境变量
是基于shell的,也就是说只有在当前设置了的shell里才会有作用,因此每次打开新的...
C语言
70,036
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章