DDmitry BelyavskiyLink with .def files
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Building: Fix the library file names for MSVC builds to include multilib In OpenSSL 1.1.1, VC-WIN64I and VC-WIN64A have a 'multilib' attribute set, which affect the names of the produced libcrypto and libssl DLLs. This restores that for OpenSSL 3.0. Fixes #13659 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13670) | 5 年前 | |
Link with .def files MSVC's link.exe automatically finds __cdecl C functions (which are decorated with a leading underscore by the compiler) when they are mentioned in a .def file without the leading underscore. This is an [under-documented feature][1] of MSVC's link.exe. C++Builder's ilink32.exe doesn't do this, and thus needs the name-translation in the .def file. Then implib.exe needs to be told to re-add it. (The Clang-based bcc32c.exe doesn't implement the [-vu or -u-][2] options to skip adding the leading underscore to __cdecl C function names, so this is the only way to have things work with non-underscored export names in the DLLs.) [1]: https://github.com/MicrosoftDocs/cpp-docs/issues/2653 [2]: http://docwiki.embarcadero.com/RADStudio/Sydney/en/Options_Not_Supported_by_Clang-enhanced_C%2B%2B_Compilers#BCC32_Options_that_Are_Not_Supported_by_Clang-enhanced_C.2B.2B_Compilers Also silence linker warnings on duplicate symbols and ensure that error- case cleanup in link rules work in C++Builder's make.exe. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/13540) | 5 年前 |