#1001 Compilation error with MinGW

v1.23.1
open
nobody
v1.23.1
5
2014-08-19
2013-10-28
neoxeo
No

gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
lla(WindowID, unsigned int, long unsigned int, long int)':
gtk/PlatGTK.cxx:2049:43: error: 'SCINTILLA' was not declared in this scope
return scintilla_send_message(SCINTILLA(w), msg, wParam, lParam);
^
gtk/PlatGTK.cxx:2049:65: error: 'scintilla_send_message' was not declared in thi
s scope
return scintilla_send_message(SCINTILLA(w), msg, wParam, lParam);
^
gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
llaPointer(WindowID, unsigned int, long unsigned int, void)':
gtk/PlatGTK.cxx:2054:43: error: 'SCINTILLA' was not declared in this scope
return scintilla_send_message(SCINTILLA(w), msg, wParam,
^
gtk/PlatGTK.cxx:2055:64: error: 'scintilla_send_message' was not declared in thi
s scope
reinterpret_cast<sptr_t>(lParam));
^
gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
lla(WindowID, unsigned int, long unsigned int, long int)':
gtk/PlatGTK.cxx:2050:1: warning: control reaches end of non-void function [-Wret
urn-type]

}
^
gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
llaPointer(WindowID, unsigned int, long unsigned int, void
)':
gtk/PlatGTK.cxx:2056:1: warning: control reaches end of non-void function [-Wret
urn-type]

}
^
make[1]: [PlatGTK.o] Error 1
make[1]: Leaving directory `/e/Downloads/geany-1.23.1/scintilla'
make:
[all] Error 2

Discussion

1 2 3 > >> (Page 1 of 3)
  • Lex Trotman
    Lex Trotman
    2013-10-28

    Can you try Geany from git, it also uses scintilla 3.3.6

     
  • Matthew Brush
    Matthew Brush
    2013-10-28

    It might just be that GTK is not defined, which is a weird quirk about ScintillaWidget.h that's burned me on a number of occasions. You could test if that's it by doing make CFLAGS="-DGTK" (or whatever flags like CPPFLAGS or CXXFLAGS or something) when you make it.

     
    Last edit: Matthew Brush 2013-10-28
  • neoxeo
    neoxeo
    2013-10-28

    Thank you for your reply !

    Can you try Geany from git, it also uses scintilla 3.3.6 => same error

    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    lla(WindowID, unsigned int, long unsigned int, long int)':
    gtk/PlatGTK.cxx:2055:43: error: 'SCINTILLA' was not declared in this scope
    return scintilla_send_message(SCINTILLA(w), msg, wParam, lParam);
    ^
    gtk/PlatGTK.cxx:2055:65: error: 'scintilla_send_message' was not declared in thi
    s scope
    return scintilla_send_message(SCINTILLA(w), msg, wParam, lParam);
    ^
    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    llaPointer(WindowID, unsigned int, long unsigned int, void)':
    gtk/PlatGTK.cxx:2060:43: error: 'SCINTILLA' was not declared in this scope
    return scintilla_send_message(SCINTILLA(w), msg, wParam,
    ^
    gtk/PlatGTK.cxx:2061:64: error: 'scintilla_send_message' was not declared in thi
    s scope
    reinterpret_cast<sptr_t>(lParam));
    ^
    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    lla(WindowID, unsigned int, long unsigned int, long int)':
    gtk/PlatGTK.cxx:2056:1: warning: control reaches end of non-void function [-Wret
    urn-type]

    }
    ^
    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    llaPointer(WindowID, unsigned int, long unsigned int, void
    )':
    gtk/PlatGTK.cxx:2062:1: warning: control reaches end of non-void function [-Wret
    urn-type]

    }
    ^
    make[1]: [PlatGTK.o] Error 1
    make[1]: Leaving directory `/e/Downloads/geany-master/scintilla'
    make:
    [all] Error 2

     
    Last edit: neoxeo 2013-10-28
  • neoxeo
    neoxeo
    2013-10-28

    With CFLAGS="-DGTK" and Github version with 3.3.6

    Sorry, I'm a newbee with MinGW, I hope that syntax is good.

    $ make -f makefile.win32
    make -C tagmanager/ctags -f makefile.win32
    make[1]: Entering directory /e/Downloads/geany-master/tagmanager/ctags' make[1]: Nothing to be done forall'.
    make[1]: Leaving directory /e/Downloads/geany-master/tagmanager/ctags' make -C tagmanager/mio -f makefile.win32 make[1]: Entering directory/e/Downloads/geany-master/tagmanager/mio'
    make[1]: Nothing to be done for all'. make[1]: Leaving directory/e/Downloads/geany-master/tagmanager/mio'
    make -C tagmanager/src -f makefile.win32
    make[1]: Entering directory /e/Downloads/geany-master/tagmanager/src' make[1]: Nothing to be done forall'.
    make[1]: Leaving directory /e/Downloads/geany-master/tagmanager/src' make CFLAGS="-DGTK" -C scintilla -f makefile.win32 make[1]: Entering directory/e/Downloads/geany-master/scintilla'
    g++ -DNDEBUG -Os -Wall -Wno-missing-braces -Wno-char-subscripts -DGTK -DSCI_LEXE
    R -I include -I src -I lexlib -I . -IC:/libs/include/gtk-2.0 -IC:/libs/lib/gtk-2
    .0/include -IC:/libs/include/atk-1.0 -IC:/libs/include/cairo -IC:/libs/include/g
    dk-pixbuf-2.0 -IC:/libs/include/pango-1.0 -IC:/libs/include/glib-2.0 -IC:/libs/l
    ib/glib-2.0/include -IC:/libs/include -IC:/libs/include/gettext -mms-bitfields -
    DG_THREADS_IMPL_NONE -c gtk/PlatGTK.cxx
    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    lla(WindowID, unsigned int, long unsigned int, long int)':
    gtk/PlatGTK.cxx:2055:43: error: 'SCINTILLA' was not declared in this scope
    return scintilla_send_message(SCINTILLA(w), msg, wParam, lParam);
    ^
    gtk/PlatGTK.cxx:2055:65: error: 'scintilla_send_message' was not declared in thi
    s scope
    return scintilla_send_message(SCINTILLA(w), msg, wParam, lParam);
    ^
    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    llaPointer(WindowID, unsigned int, long unsigned int, void)':
    gtk/PlatGTK.cxx:2060:43: error: 'SCINTILLA' was not declared in this scope
    return scintilla_send_message(SCINTILLA(w), msg, wParam,
    ^
    gtk/PlatGTK.cxx:2061:64: error: 'scintilla_send_message' was not declared in thi
    s scope
    reinterpret_cast<sptr_t>(lParam));
    ^
    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    lla(WindowID, unsigned int, long unsigned int, long int)':
    gtk/PlatGTK.cxx:2056:1: warning: control reaches end of non-void function [-Wret
    urn-type]

    }
    ^
    gtk/PlatGTK.cxx: In static member function 'static long int Platform::SendScinti
    llaPointer(WindowID, unsigned int, long unsigned int, void
    )':
    gtk/PlatGTK.cxx:2062:1: warning: control reaches end of non-void function [-Wret
    urn-type]

    }
    ^
    make[1]: [PlatGTK.o] Error 1
    make[1]: Leaving directory `/e/Downloads/geany-master/scintilla'
    make:
    [all] Error 2

     
  • neoxeo
    neoxeo
    2013-10-28

    I don't undestand why Scintilla 3.3.6 without Geany compile fine, and why I have this error when I try to compile Geany. If I have no good GTK define, scintilla 3.3.6 won't compile fine.

    Thank you again for your reply and your help.

     
  • Lex Trotman
    Lex Trotman
    2013-10-28

    I don't know how you compiled scintilla by itself, but are you sure you compiled the GTK version. Scintilla has a windows native version as well, which I would have thought was the default build on Windows. Geany uses the GTK version of scintilla on all platforms since Geany is a GTK application.

     
  • neoxeo
    neoxeo
    2013-10-28

    You are right, Lex. I think I have use windows version (on http://www.scintilla.org/ScintillaDownload.html I have choose Zip file).

    I have also download the "tgz format (1200K) commonly used on Linux and compatible operating systems" and try to compile Scintilla in MSYS mode. No problem, the 2 dll was create.

    In source code, for zip or tgz (windows or Linux), there is "scintilla\gtk" directory.

    Try to compile scite, scite.exe is generated and all is OK.

     
    Last edit: neoxeo 2013-10-28
  • Matthew Brush
    Matthew Brush
    2013-10-28

    If I remember correctly, to build the GTK+ platform Scintilla, you need to be inside the "gtk" directory. It won't make any .dlls, it should just dump an .a file into the "bin" directory. But either way, there's a huge difference between building upstream Scintilla and Geany: build systems :)

     
  • neoxeo
    neoxeo
    2013-10-28

    I know I'm a newbee, thank you to try to help me.

    Ok. Go to Scintilla 3.3.6 GTK directory, and run a make => no error and scintilla.a created in bin directory.

    Do you think, that is needed to modify Makefile.am and/or makefile.win32 in geany-master\scintilla directory ?

     
1 2 3 > >> (Page 1 of 3)