From: Arjen M. <Arj...@de...> - 2015-05-21 08:07:53
|
Hi Alan, > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > > The first error message for the case of the traditional build of the f95 examples when > PLplot was statically built was as follows: > > /cygdrive/d/plplot- > svn/comprehensive_test_disposeable/static/install_tree/lib/libplplot.a(qt.cpp.o):qt.cpp > :(.text+0x5cc0): > undefined reference to std::ios_base::Init::Init()' > > std refers to symbols in the special library that the C++ compiler normally adds to the > linking information (in this case the libstdc++ library that is associated with g++, but > the name/location/version of that library might depend on which C++ compiler the > user decides to use). Of course, in this case we must link the Fortran examples with > a Fortran compiler for the traditional build system for the installed example. > Therefore, there is a linking error here because libstdc++ is obviously not > automatically linked in by gfortran. There are also similar potential problems for > other non-C or C++ examples that are compiled. > Ah, that is indeed a familiar problem. If I understand it correctly, then C++ code requires a linker with libraries suitable for C++. Of course Fortran and other languages require their own libraries and it is usually the compiler (or the driver program) that adds the appropriate ones to the link step. One can get around this problem by explicitly supplying these libraries, but that is very much compiler-specific and even configuration-specific (for instance: under Windows the libraries for a debuggable program tend to be different than those for a release program). I will give this new set-up a try. Since it is the computer which does most work, it should not be that time-consuming for me. Regards, Arjen DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |