[QScintilla] compiling and linking against qscintilla 2.9.3
Phil Thompson
phil at riverbankcomputing.com
Sat Sep 10 10:38:12 BST 2016
On 9 Sep 2016, at 9:13 pm, JohnD <john.david.donoghue at gmail.com> wrote:
>
> Maybe something obvious that I am missing, but when running qmake (qt4) on the release sources of qscintilla 2.9.3 in linux, the resulting library doesn’t have any exported symbols, so when compiling a simple program:
>
> Say:
>
> #include <Qsci/qsciapis.h>
> #include <Qsci/qscilexercpp.h>
>
> int main ()
> {
> QsciLexer *lexer = new QsciLexerCPP ();
> QsciAPIs *lexer_apis = new QsciAPIs (lexer);
> return 0;
> }
>
> It fails with undefined references to `QsciLexerCPP::QsciLexerCPP(QObject*, bool)' and `QsciAPIs::QsciAPIs(QsciLexer*)’
>
> If I remove the CONFIG setting in qscintilla.pro of ‘hide_symbols’, it works ok.
>
> AM I missing something in build of qscintilla or my test program ??
>
> Same issue occurs on 2.9.2, where the hide_symbols setting was added.
hide_symbols should only hide the internal symbols. Those marked with QSCINTILLA_EXPORT should be exposed.
I haven't had any other bug reports about this which I would expect if it is a general problem. Otherwise if removing hide_symbols works for you then do that.
Phil
More information about the QScintilla
mailing list