Asger Ottar Alstrup wrote:
> Hi,
>
> The result of today's work is this: Everything compiles with the
> attached patch and new files placed as usual. I did a bunch of gross
> hacks here and there, but there are some good bits in there, which Angus
> might steal.
Well done, Asger. I'll have a look.
> Next step is to resolve linker errors, of which there are 24 right now.
> See attached.
>
> I also attach some warnings, which the useless compiler found. Maybe
> some of them are useful after all, who knows?
They do look useful, yes.
> Next, today's question: What is this warning?
>
> QDocumentDialog.C
> c:\lyx\lyx-devel\src\frontends\qt2\lengthvalidator.h(40) : warning
> C4251: 'LengthValidator::b_' : class 'LyXLength' needs to have
> dll-interface to be used by clients of class 'LengthValidator'
> ..\..\src\lyxlength.h(23) : see declaration of 'LyXLength'
> c:\lyx\lyx-devel\src\frontends\qt2\lengthvalidator.h(41) : warning
> C4251: 'LengthValidator::g_' : class 'LyXGlueLength' needs to have
> dll-interface to be used by clients of class 'LengthValidator'
> ..\..\src\lyxgluelength.h(20) : see declaration of
> 'LyXGlueLength'
The class is declared as:
class Q_EXPORT LengthValidator : public QValidator
{
LyXLength b_;
LyXGlueLength g_;
...
};
I guess that the Q_EXPORT thingie is meant to expand to "dllimport" if
you're a user of the class and to "dllexport" if you're compiling it.
However, we're not making a dll of the frontends Qt lib. What happens if
you simply remove the thing from the declaration?
--
Angus