[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