链接时无法使用 syslibroot 指定 root sdk 目录
我有一些静态库想要与 ld
链接。我的库位于目录 /Users/rlt/p4/lib/
和 /Users/rlt/p4/usr2/lib
中。我想传入这些目录的相对路径 /Users/rlt/p4
并使用 -syslibroot
指向该目录。 ld
的文档表示此选项将为所有搜索路径添加前缀
。但是,以下命令为我指定的两个路径提供了目录未找到错误:
ld -syslibroot /Users/rlt/p4 -L/lib -L/usr2/lib -lA -lB -lC
这使我无法找到 /lib
和 /usr2/lib
。我尝试使用 -Lusr2/lib
和 -Llib
得到相同的结果。我缺少什么?
I have a few static libraries I want to link with ld
. My libraries are in the directories /Users/rlt/p4/lib/
and /Users/rlt/p4/usr2/lib
. I want to pass in the relative paths of these directories w.r.t /Users/rlt/p4
and use the -syslibroot
to point to this directory. The documentation for ld
says that this option will prepend a pre-fix to all search paths
. However, the following command gives me directory not found errors for both paths I specify:
ld -syslibroot /Users/rlt/p4 -L/lib -L/usr2/lib -lA -lB -lC
This gives me could not find /lib
and /usr2/lib
. I tried using -Lusr2/lib
and -Llib
with same results. What am I missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
-syslibroot
不会将其参数字符串添加到任意路径之前。它只会将其添加到与sdk目录结构一致的路径中。-syslibroot
does not prepend its argument string to arbitrary paths. It will only add it to the paths which are consistent with the sdk directory structure.