[QScintilla] QScintilla 2.8

Phil Thompson phil at riverbankcomputing.com
Sun Dec 29 18:28:39 GMT 2013


On 23-12-2013 11:32 pm, Hans-Peter Jansen wrote:
> Hi Phil,
>
> On Samstag, 21. Dezember 2013 12:52:30 Phil Thompson wrote:
>> On 18-12-2013 10:48 pm, Hans-Peter Jansen wrote:
>> > Hi Phil,
>> >
>> > in an attempt to build QScintilla 2.8 in the usual way¹, I noticed
>> > some
>> > issues. I was able to fix some of them with the attached patches, 
>> but
>> > failed on this one:
>> >
>> > [   58s] g++ -c -pipe -fmessage-length=0 -grecord-gcc-switches -O2
>> > -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
>> > -fasynchronous-unwind-tables -g -DUSE_LIB64_PATHES
>> > -fno-strict-aliasing -w -fmessage-length=0 -grecord-gcc-switches 
>> -O2
>> > -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
>> > -fasynchronous-unwind-tables -g -DUSE_LIB64_PATHES
>> > -fno-strict-aliasing -D_REENTRANT -fPIC  -DQSCINTILLA_MAKE_DLL
>> > -DSCINTILLA_QT -DSCI_LEXER -DQT_NO_DEBUG -DQT_THREAD_SUPPORT
>> > -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/lib/qt3/mkspecs/default -I.
>> > -I.
>> > -I../include -I../lexlib -I../src -I/usr/include
>> > -I/usr/lib/qt3/include -o LexAPDL.o ../lexers/LexAPDL.cpp
>> > [   58s] In file included from ScintillaQt.h:64:0,
>> > [   58s]                  from ScintillaQt.cpp:38:
>> > [   58s] ../src/Editor.h: In member function 'QString
>> > QsciScintillaQt::textRange(const SelectionText*) const':
>> > [   58s] ../src/Editor.h:81:14: error: 'std::string 
>> SelectionText::s'
>> > is private
>> > [   58s]   std::string s;
>> > [   58s]               ^
>> > [   58s] ScintillaQt.cpp:425:16: error: within this context
>> > [   58s]      if (!text->s)
>> > [   58s]                 ^
>> > [   58s] ScintillaQt.cpp:425:9: error: no match for 'operator!'
>> > (operand type is 'const string {aka const 
>> std::basic_string<char>}')
>> > [   58s]      if (!text->s)
>> > [   58s]          ^
>> > [   58s] ScintillaQt.cpp:425:9: note: candidate is:
>> > [   58s] ScintillaQt.cpp:425:9: note: operator!(bool) <built-in>
>> > [   58s] ScintillaQt.cpp:425:9: note:   no known conversion for
>> > argument 1 from 'const string {aka const std::basic_string<char>}' 
>> to
>> > 'bool'
>> > [   58s] make: *** [ScintillaQt.o] Error 1
>> >
>> > It might bail on some other lexer, though.
>> >
>> > Any idea?
>>
>> Should be fixed in tonight's snapshot.
>>
>> I haven't applied your std-usage diff because I'm not convinced it 
>> is
>> necessary - because it would affect Qt4 & Qt5 as well and I don't 
>> see
>> the problem.
>
> Sorry for being too sparse. Without that patch, compilation fails 
> with:
>
> [   56s] g++ -c -pipe -fmessage-length=0 -grecord-gcc-switches -O2
> -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
> -fasynchronous-unwind-tables -g -DUSE_LIB64_PATHES
> -fno-strict-aliasing -w -fmessage-length=0 -grecord-gcc-switches -O2
> -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
> -fasynchronous-unwind-tables -g -DUSE_LIB64_PATHES
> -fno-strict-aliasing -D_REENTRANT -fPIC  -DQSCINTILLA_MAKE_DLL
> -DSCINTILLA_QT -DSCI_LEXER -DQT_NO_DEBUG -DQT_THREAD_SUPPORT
> -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. 
> -I.
> -I../include -I../lexlib -I../src -I/usr/include
> -I/usr/lib/qt3/include -o qscilexercmake.o qscilexercmake.cpp
> [   57s] In file included from ScintillaQt.h:63:0,
> [   57s]                  from qsciscintillabase.cpp:40:
> [   57s] ../src/Editor.h: In member function 'void
> SelectionText::FixSelectionForClipboard()':
> [   57s] ../src/Editor.h:124:3: error: 'replace' is not a member of 
> 'std'
> [   57s]    std::replace(s.begin(), s.end(), '\0', ' ');
> [   57s]    ^
> [   57s] make: *** [qsciscintillabase.o] Error 1
> [   57s] make: *** Waiting for unfinished jobs....
> [   58s] error: Bad exit status from /var/tmp/rpm-tmp.0k3pv3 (%build)
>
> If you know a different way to fix this issue, let me know.

Ok, I've added it to tonight's snapshot.

Thanks,
Phil


More information about the QScintilla mailing list