“lib”库的前缀
来自http://www.adp-gmbh.ch/cpp/gcc/create_lib。 html:
注意:库必须以三个字母
lib
开头,并带有后缀.a
。
这是操作系统约定还是 gcc
/ar
怪癖? Xcode 似乎能够创建没有前缀的库。它有什么不同的作用?
From http://www.adp-gmbh.ch/cpp/gcc/create_lib.html:
Note: the library must start with the three letters
lib
and have the suffix.a
.
Is this an operating system convention, or a gcc
/ar
quirk? Xcode seems to be able to create libraries without the prefix. What's it doing differently?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以根据需要命名库,但如果您希望 gcc 的
-l
标志找到正确的库,则需要按照链接描述的方式对其进行命名。例如:将编译
myapp.c
,将生成的对象与libm.a
链接,并输出名为myapp
的可执行文件。如今,可能会出现更复杂的搜索路径,涉及动态库名称等,但您应该从这个示例中了解基本概念。从 gcc 手册页:
You can name a library whatever you want, but if you want gcc's
-l
flag to find the right one, you need to name it the way that link describes. For example:Will compile
myapp.c
, link the resulting object withlibm.a
, and output an executable calledmyapp
. These days, there might be a more complicated search path involving dynamic library names, etc., but you should get the basic idea from this example.From the gcc man page: