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

Reply via email to