-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade from msvcrt.lib to ucrt.lib #122
Comments
+ vcruntime.libFixes:
|
+ kernel32.libFixes
|
+vcruntime.lib +kernel32.lib Identified in ocaml#122
Sorry for the naïve question, but to make sure I understand: are we speaking here of linking the executables produced by flexlink/MSVC against |
The issue is that
Seems safer just not to link to the old A small summary is at https://www.msys2.org/docs/environments/#msvcrt-vs-ucrt:
@nojb "the executables produced by the OCaml comiler (via flexlink/MSVC) already depended on ucrt? I must be missing something...". I suspect the new thing in VS 2015 was that the binaries started to depend on |
+ Compiler RoutinesI believe these are the last missing symbols to be resolved:
From what I can tell these aren't defined in libraries but are instead emitted by the compiler and/or linker. For example, I am currently puzzled by why these symbols are not present! My guesses so far:
Edit 1:
Edit 2:
Edit 3:
All the above still needs testing |
+ msvcrt.lib (only for
|
#ifdef __GNUC__ | |
#ifdef __CYGWIN__ | |
#define entry _cygwin_dll_entry | |
#endif | |
#ifdef __MINGW32__ | |
#define entry DllMainCRTStartup | |
#endif | |
#else | |
#define entry _DllMainCRTStartup | |
#endif | |
BOOL WINAPI entry(HINSTANCE, DWORD, LPVOID); | |
BOOL WINAPI FlexDLLiniter(HINSTANCE hinstDLL, DWORD fdwReason, | |
LPVOID lpReserved) { | |
if (fdwReason == DLL_PROCESS_ATTACH && !flexdll_init()) | |
return FALSE; | |
return entry(hinstDLL, fdwReason, lpReserved); | |
} |
With the minimum requirements for OCaml at Windows 10 (I think), we should consider moving off the legacy
msvcrt.lib
.Here is the branch I have used for testing: https://github.com/jonahbeckford/flexdll/commits/0.43%2Bucrt
There are two blockers:
ucrt.lib
.The text was updated successfully, but these errors were encountered: