This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libstdc++ linked as libstdc++.a


On November 12, 2002 09:11 pm, B. Kosnik wrote:
> shared:
>
> g++ -o hello hello.cc
>
> static:
>
> g++ -static -o hello hello.cc

That won't work on certain target platforms (eg. Mac OS X, where 
-static doesn't work), and also forces libc.a to be linked in 
statically.  A more portable alternative is (example using the POSIX 
shell, localize as appropriate):

 LIBCXX=`g++ -print-file-name=libstdc++.a`
 g++ -o hello hello.cc $LIBCXX

Given the instability of the g++ ABI over the last year or so and the 
way certain Linux distros do such weird things with the shared library 
names, this should be pretty much the de facto modus operandi for 
professional software releases. 

If it's any comfort, we've had to do something similar with MSVC on 
Windows, since their newer version of the C++ is ABI incompatible with 
their older version.

-- 
Stephen M. Webb


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]