Reputation: 25571
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?
Upvotes: 18
Views: 9541
Reputation: 224864
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:
gcc -o myapp myapp.c -lm
Will compile myapp.c
, link the resulting object with libm.a
, and output an executable called myapp
. 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:
-l
library ...... surrounds library with
lib
and.a
and searches several directories.
Upvotes: 31