> From: Jakob Bohm, Thursday, June 08, 2017 12:32 PM > > On 08/06/2017 18:48, Baojun Wang wrote: > > Also on Windows (64-bit), openssl produces libssl-1_1-x64.dll as well > > as libcrypto-1_1-x64.dll, this could be painful for application who > > has to specify openssl dependency, for example now I have to choose > > ssl-1_1-x64 and crypto-1_1-x64 as extra-libs, but I imagine there's a > > more idiomatic way to make linking on windows (not only 64-bit) > > easier, do you have any idea? > Traditionally, Windows (like Unix) uses the same file name for > 32 and 64 bits, but puts them in different directories. If > they need to be in the same directory for some applications, > the traditional solution is to insert "32" or "64" on its own, > while still using the same file name for different architectures > with the same bitness. For example a compile for 32 bit MIPS > (supported by older Windows releases) or 32 bit ARM (supported > by newer releases) would have the same name as for 32 bit x86. > Similar for the 4 64 bit architectures supported at various > times (Alpha 64 bit, Itanium, AMD x86_64, 64 bit ARM). > > Microsoft did some crazy experiments with a directory scheme > called SxS for versioned DLLs, its badly done and should be > avoided if possible. The side-by-side (SxS) stuff has its place, but to use it effectively requires using a "manifest" to identify the dependencies explicitly. I also don't recommend it for general use. Regarding the "32" suffix, you'll see that throughout Windows itself, on modern 64-bit versions, because the "32" dates back to the 1990s when Windows was trying to grow out of being a 16-bit DOS program (WIN.EXE) into a 32-bit "operating system" (Windows NT). Many people are misdirected with the term "Win32" into thinking that means 32-bit when it really only means "not 16-bit." Anything labeled "Win32" could be either 32-bit or 64-bit. I haven't started working with OpenSSL 1.1.n, but in OpenSSL 1.0.2, all 64-bit builds produce identically-named binaries such as libeay32.lib and libeay32.dll in the "out32" directory. Hope this helps, Mark -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users