[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