
On May 15, 2007, at 12:32 AM, Vladimir Prus wrote:
\and it forces users of boost_unit_test_framework into statically linking in a non- traditional way.
The above statements all seem to be false. There's no difference, in my testing, between
libfoo.a
and
-L . -lfoo
provided the latter finds the same libfoo.a.
Further, in my testing putting 'main' in static library works. I believe that even works on Windows. Furthermore, previous testing reveals that on Linux, putting 'main' in shared library works as well.
You can easily test it for yourself.
Hah! I just realized that I was picking up the shared library (from / usr/lib) rather than the static library I expected. D'oh! Thanks for setting me straight on this.
Why must main() be in a library? It seems a trivial matter to fix.
The real issue is that there's no 'main()' in library, as shown below:
No main() in the shared library, but it's in the static library. - Doug