This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: I want to build a library rather than an executable
- From: "Lev Assinovsky" <LAssinovsky at algorithm dot aelita dot com>
- To: "Adam Stein" <adam at scan dot mc dot xerox dot com>,<gcc-help at gcc dot gnu dot org>,<jan at thertdc dot com>
- Date: Wed, 20 Oct 2004 16:41:41 +0400
- Subject: RE: I want to build a library rather than an executable
I don't think using ld directly is a good idea.
In that case you should to take care about libstdc++, libgcc at least.
------------------------------
Lev Assinovsky
Quest Software, Inc.
O&S Core Division, Team Leader
-----Original Message-----
From: gcc-help-owner@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org]On
Behalf Of Adam Stein
Sent: Wednesday, October 20, 2004 4:29 PM
To: gcc-help@gcc.gnu.org; jan@thertdc.com
Subject: Re: I want to build a library rather than an executable
>I am currently porting an existing application from Solaris 2.6 to Solaris
>2.9 and switching to the GNU compiler 3.4.1 as well!! (previously used the
>Sun compiler)
To create a shared library, I do something like:
ld -G -o mylib.so obj1.o obj2.o
For a static library, I do something like:
ar cr mylib.a `lorder obj1.o obj2.o | tsort`
You can replace the names with variables in a Makefile as you would with
anything else. These lines are the ones that create the final library file.
You, of course, have to compile your C++ files into object files as normal (i.e.
g++ -c -o obj1.o obj1.cpp).
Hope this helps.
Adam Stein
--
Adam Stein @ Xerox Corporation Email: adam@scan.mc.xerox.com
Disclaimer: All views expressed
here have been proved to be my own. [http://www.csh.rit.edu/~adam/]