I have found some unexpected differences between Cygwin and Linux. FYI I think Cygwin is right, and Linux is wrong.
What happens is I have a DLL P which depends on a DLL F and a DLL D. A also depends on R. The executable depends on R D and F. Under Linux, I link P against F, and it works. IMHO this is just plain wrong. It seems to be pooling symbols globally or something. Under Cygwin this does not happen. The link of P fails with an undefined symbol from D. I think this is correct. If anyone can throw some light on this I'd appreciate it. Is it this option:? --allow-shlib-undefined --no-allow-shlib-undefined Allows (the default) or disallows undefined symbols in shared libraries. Can I fix that with -Wl,--no-allow-shlib-undefined switch to gcc, so Linux and Cygwin behave the same? -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/