Boost logo

Boost Users :

Subject: Re: [Boost-users] Static linkage in shared object
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2008-09-12 04:10:46


Graham Bull wrote:

> Hi all,
>
> Using Linux and g++, is it possible to create a shared object that
> statically links to Boost.Thread (1.33.1)?
>
> I'm doing something like:
>
> g++ -static -pthread -lboost_thread-gcc-mt -shared -o
> <name>.so <sourcefiles>
>
> to create a shared object (it's a JNI library written in C++).
>
> It compiles fine, but when I use it from Java I always getting an
> exception stating that libboost_thread-gcc-mt-1_33_1.so.1.33.1 cannot
> be found - but that's intentional, I haven't put /usr/local/lib in
> LD_LIBRARY_PATH because I don't want to dynamically link.
>
> Any help greatly appreciated!

Please read the docs of the -static and -shared options -- they don't
do what you seem to think. Then, read up on linker options -Bstatic
and -Bshared (which can be passed on gcc command line as -Wl,-Bstatic
and -Wl,-Bshared).

- Volodya


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net