Fixes Visual Studio 2015 linker error (___iob_func)
The original, uncommited fix simply changed compiler flag /MT to /MD. This would link the C runtime dynamically instead of statically. This is bad, because some users would have to install the c runtime before starting the editor. You can find alot of info about this error, which can happen after upgrading to VS 2015, and there are workarounds. But I realized, that the only place, where iob_func is used, is in e_os.h of the openssl library. The latest version already contains a workaround. I simply updated the part in e_os.h. Reference: https://github.com/openssl/openssl/blob/master/e_os.h#L268 Reference: https://software.intel.com/en-us/forums/intel-parallel-studio-beta-archived/topic/266345 Reference: https://connect.microsoft.com/VisualStudio/feedback/details/1144980/error-lnk2001-unresolved-external-symbol-imp-iob-func Reference: http://stackoverflow.com/questions/757418/should-i-compile-with-md-or-mt Here's the original error message: Creating library bin\godot.windows.tools.lib and object bin\godot.windows.tools.exp drivers1.windows.tools.lib(t1_enc.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func drivers1.windows.tools.lib(txt_db.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func drivers1.windows.tools.lib(d1_enc.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func drivers1.windows.tools.lib(ui_openssl.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func drivers1.windows.tools.lib(cryptlib.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func drivers1.windows.tools.lib(pem_lib.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func drivers1.windows.tools.lib(d1_both.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func drivers1.windows.tools.lib(rsa_sign.windows.tools.obj) : error LNK2001: unresolved external symbol ___iob_func bin\godot.windows.tools.exe : fatal error LNK1120: 1 unresolved externals scons: *** [bin\godot.windows.tools.exe] Error 1120
This commit is contained in:
parent
3886ed08ac
commit
b051914032
@ -318,8 +318,8 @@ static unsigned int _strlen31(const char *str)
|
||||
# undef isupper
|
||||
# undef isxdigit
|
||||
# endif
|
||||
# if defined(_MSC_VER) && !defined(_DLL) && defined(stdin)
|
||||
# if _MSC_VER>=1300
|
||||
# if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(_DLL) && defined(stdin)
|
||||
# if _MSC_VER>=1300 && _MSC_VER<1600
|
||||
# undef stdin
|
||||
# undef stdout
|
||||
# undef stderr
|
||||
@ -327,7 +327,7 @@ static unsigned int _strlen31(const char *str)
|
||||
# define stdin (&__iob_func()[0])
|
||||
# define stdout (&__iob_func()[1])
|
||||
# define stderr (&__iob_func()[2])
|
||||
# elif defined(I_CAN_LIVE_WITH_LNK4049)
|
||||
# elif _MSC_VER<1300 && defined(I_CAN_LIVE_WITH_LNK4049)
|
||||
# undef stdin
|
||||
# undef stdout
|
||||
# undef stderr
|
||||
|
Loading…
Reference in New Issue
Block a user