On Thu, Jul 07, 2005 at 06:45:13PM +0200, [EMAIL PROTECTED] wrote: > > That is just plain wrong. :-) With templates, you are supposed to > > provide the template implementation either in the header or in a file > > included by the header (convention is to name them .tcc and place them > > next to the header). The usual rule applies: Everything that does not > > generate code by itself should be in a header file.
> Well I did say that : "The .h file has to include the .cc one in order for the > compilation to work." > Now if you decide to leave the code that I put into g.cc only the .h file, it > works too... > > Yes, so the ABI doesn't change in this case. > It doesn't, and the modification isn't very important so it isn't a problem. > But > that was only an example, but the body of g can be modified in a way where it > could lead to a failure (because of the use of templates), therefore the > SONAME > muste be changed so as to force usage of the new library. The SONAME refers to the ABI of the *shared library*. Any template-related code that's included in the C++ headers is not, itself, part of the shared library, so that's no reason to change the SONAME. -- Steve Langasek postmodern programmer
signature.asc
Description: Digital signature