#1813 Scintilla_DirectFunction export in v3.6.3


The 3.6.3 release removes the use of the Scintilla.def file for Windows builds. The explanation in the release history is because "it duplicates source code directives" I think this is causing an issue for me...

In prior versions the Scintilla_DirectFunction is exported fine, but starting with v3.6.3 the exported function looks like it has C++ name mangling. I've attached the output from DUMPBIN for v3.6.2 and v3.6.3.

The reason this is an issue for me is that from C# we use P/Invoke to call the exported function by name at runtime using GetProcAddress.

I am currently building with VS2013 command prompt using "nmake -f scintilla.mak".

2 Attachments


  • Jacob Slusser

    Jacob Slusser - 2016-02-23

    Please ignore the DUMPBIN 363.txt attachment. That one includes debug information for the export function, but not the mangled name. I've attached the correct DUMPBIN 363-correct.txt file which properly shows the name mangling.

    I've also found that if I rollback the scintilla.mak file to the prior version which includes a reference to the DEF file it exports Scintilla_DirectFunction as I would expect without the name mangled.

  • Neil Hodgson

    Neil Hodgson - 2016-02-24
    • labels: --> scintilla, win32
    • status: open --> open-fixed
    • assigned_to: Neil Hodgson
  • Neil Hodgson

    Neil Hodgson - 2016-02-24

    OK. The 64-bit Microsoft compiler and g++ produced the correct unmangled export.

    Using the .DEF file produces this warning from the 64-bit Microsoft compiler:
    ScintillaWin.obj : warning LNK4197: export 'Scintilla_DirectFunction' specified multiple times; using first specification

    Reverted with [1cf4c4].



    Commit: [1cf4c4]

  • Neil Hodgson

    Neil Hodgson - 2016-03-16
    • status: open-fixed --> closed-fixed

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks