库中的“lib”前缀

来自http://www.adp-gmbh.ch/cpp/gcc/create_lib.html :

注意:库必须以三个字母lib开头并具有后缀.a

这是一个操作系统约定,还是gcc / ar quirk? Xcode似乎能够创建没有前缀的库。 它有什么不同的做法?

您可以根据需要为库命名,但如果您希望gcc的-l标志找到正确的库,则需要按链接描述的方式命名。 例如:

 gcc -o myapp myapp.c -lm 

将编译myapp.c ,将结果对象与libm.a链接,并输出一个名为myapp的可执行文件。 目前,可能存在涉及动态库名称等的更复杂的搜索路径,但您应该从此示例中获得基本概念。

从gcc手册页 :

-l

…用lib.a包围并搜索多个目录。