compiling static

William A. Mahaffey III wam at hiwaay.net
Fri May 1 22:07:19 UTC 2015


On 05/01/15 16:28, Alex Merritt wrote:
> On Fri, May 1, 2015 at 5:02 PM, Jim Pazarena <fquest at paz.bz> wrote:
>
>> is there a way to tell cc (clang) to compile with static libraries?
>
> If you want to _compile_ code to a static library, you generate the object
> files and then use "ar" to assemble them together into an archive file (.a).
>
> cc -c file0.c file1.c ...
> ar rcus lib.a file0.o file1.o ...
>
> If you want to _link to_ (if that's what you mean by "compile with") static
> libraries, you may specify the archive path to the linker instead of using
> the dynamic linker flag (-l).
>
> cc prog.c /path/to/lib.a -o prog
>
> There may be other ways I am unfamiliar with. Is this not how gcc does it
> also?
>
> -Alex
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>

GCC (& most other compilers I am familiar with, such as SGI & Intel 
compiler suites) usually have a flag to the linker to tell it to use 
static linking (using archives, '.a' files, to link 1 big executable 
ready to go by itself) instead of dynamic linking, which is usually the 
default if nothing is specified. I think that is what the OP was asking 
about ....

-- 

	William A. Mahaffey III

  ----------------------------------------------------------------------

	"The M1 Garand is without doubt the finest implement of war
	 ever devised by man."
                            -- Gen. George S. Patton Jr.



More information about the freebsd-questions mailing list