Scintilla DLL (Editcontrol) mit VC7 (2003) rekompilieren
-
Hallo liebe Community -
ich bin hier neu und möchte gleich auf den Punkt kommen.
Scintilla is a free source code editing component. It comes with complete source code and a license that permits use in any free project or commercial product.
Ich scheitere beim Rekompilieren der DLL dahingehend - das die DLL doppelt so groß ist (debug:off) und die (einzige darin enthaltene) Funktion mit einem _ underline exportiert wird.
Weiß jemand was ich falsch mache?
Salve, iF.
-
Ok - ich teile die Problematik:
Was mache ich falsch:
Wenn ich die DLL kompile erhalte ich folgenden Export:
_Scintilla_DirectFunction@16
ich möchte jedoch das dieser
Scintilla_DirectFunction
heißt.
Was mache ich falsch / was muß ich tun?
hier die Zeilen:
extern "C" __declspec(dllexport) sptr_t __stdcall Scintilla_DirectFunction( ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam) { return sci->WndProc(iMessage, wParam, lParam); }
Danke!
-
OK - noch einfacher:
Ich erstelle die DLL und in der DLL wird die Funktion als "_Scintilla_DirectFunction@16" exportiert - soll aber als "Scintilla_DirectFunction" exportiert werden.
Wie bekomme ich's hin?
Danke.
-
du brauchst noch ein .def file.
sieht ungefähr so aus:
LIBRARY "test" EXPORTS Scintilla_DirectFunction
-
OK - vielen Dank - gleich mal schauen...
*hoff*
Salve.
-
Nein - leider reicht es anscheinen nicht aus.
Hat jemand anderes vielleicht eine Idee?
Ich erstelle die DLL und in der DLL wird die Funktion als "@_Scintilla_DirectFunction@16" exportiert - soll aber als "Scintilla_DirectFunction" exportiert werden.
Wie bekomme ich's hin?
Danke.
-
kannst du das mal hochladen damit ich es ausprobieren kann?
-
ich hab mir das mal von der homepage runtergeladen und da ist ja auch genau das def-file bei
EXPORTS
Scintilla_DirectFunction
-
ich hab die dlls über das make file im win32 ordner gebaut und die dlls exportieren die funktion mit vernünftigem namen!!
-
Ich bin zu blöd.
Kannst Du mir etwas genauer beschreiben wie ich das kompilieren hinbekomme?
Danke! *schäm*
-
öffne eine konsole und gehe in das verzeichnis Microsoft Visual Studio .NET 2003\Vc7\bin und führe die batch datei vcvars32.bat aus. dann wechsele in das verzeichnis scintilla\win32 und rufe nmake /f scintilla.mak auf.
-
Wohin kann ich den Dankesbetrag überweisen?
Es funktioniert natürlich wenn man es genau so tut wie Du es beschrieben hast!
Ich kann mich da nur mehrfach bedanken! *knicks* !!!
Danke!