From owner-freebsd-questions@FreeBSD.ORG Fri May 1 22:07:19 2015 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4F10C3AD for ; Fri, 1 May 2015 22:07:19 +0000 (UTC) Received: from fly.hiwaay.net (fly.hiwaay.net [216.180.54.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 199901301 for ; Fri, 1 May 2015 22:07:18 +0000 (UTC) Received: from kabini1.local (rbn1-216-180-76-47.adsl.hiwaay.net [216.180.76.47]) (authenticated bits=0) by fly.hiwaay.net (8.13.8/8.13.8/fly) with ESMTP id t41M7GnL010217 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Fri, 1 May 2015 17:07:17 -0500 Message-ID: <5543F914.9060905@hiwaay.net> Date: Fri, 01 May 2015 17:13:31 -0453 From: "William A. Mahaffey III" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 CC: freebsd-questions@freebsd.org Subject: Re: compiling static References: <5543E9D5.2030404@paz.bz> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 May 2015 22:07:19 -0000 On 05/01/15 16:28, Alex Merritt wrote: > On Fri, May 1, 2015 at 5:02 PM, Jim Pazarena 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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@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.