Compilation problem MSVC with recent 'sort' implementation
Michael Goffioul
michael.goffioul at gmail.com
Sun Feb 3 08:16:01 CST 2008
On 2/3/08, Michael Goffioul <michael.goffioul at gmail.com> wrote:
> Unfortunately, this is not enough to make it compilable with
> MSVC. At link stage of liboctave, I get duplicated symbols
> error (see below). This seems logical to me to have duplicated
> symbols as Array-C.cc includes Array.cc and that the assign
> instantiation also instantiates Array<double>. However, as
> Array-d.cc also perform explicit specialization, I guess the
> compiler cannot determine which one it has to export in the
> DLL (I also wonder how gcc resolves this).
>
> I don't know how to handle this.
The attached patch solves the problem.
Michael.
liboctave/ChangeLog
2008-02-03 Michael Goffioul <michael.goffioul at gmail.com>
* Array.cc (ascending_compare, descending_compare,
Array<T>::sort): Declare explicit specialization for T=double
to avoid symbol duplication error at link time.
* Array-d.cc: ascending_compare and descending_compare
are not part of Array<T> class.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Array_sort.diff
Url: https://www.cae.wisc.edu/pipermail/octave-maintainers/attachments/20080203/3d71acb4/attachment.ksh
More information about the Octave-maintainers
mailing list