<div dir="ltr">> > > specification warning LNK4098: defaultlib 'MSVCRT' conflicts with use<br>> > > of other libs; use /NODEFAULTLIB:library LINK : warning LNK4217:<br>> > > symbol '__time32' defined in 'libucrtd.lib(time.obj)' is imported by<br>> > 'libcrypto_static.lib(libcrypto-lib-http_client.obj)' in function<br>> > '_OSSL_HTTP_REQ_CTX_set_request_line'<br>> > > LINK : warning LNK4286: symbol '__time32' defined in<br>> > > 'libucrtd.lib(time.obj)' is imported by 'libcrypto_static.lib(libcrypto-lib-<br>> >> bss_conn.obj)'<br>> > > LINK : warning LNK4286: symbol '__time32' defined in<br>> > > 'libucrtd.lib(time.obj)' is imported by 'libcrypto_static.lib(libdefault-lib-<br>> > drbg.obj)'<br>> > > LINK : warning LNK4217: symbol '__time32' defined in<br>> > > 'libucrtd.lib(time.obj)' is imported by 'libcrypto_static.lib(libcrypto-lib-<br>> > bio_lib.obj)' in function '_BIO_do_connect_retry'<br>> ><br>> > Looks like some part was compiled with '-MDd' and some other parts<br>> > (the .libs?) with '-MTd'.<br>> <br>> Yes, or -MD (or /MD) versus -MT, or some other combination thereof. It's some<div>> form of mixed MSVC runtimes, which is what the LNK4098 message is<div>> warning you about.<div><div><div><br></div></div><div>I've tried various options without much success, but I'll keep trying. Does anyone on the list know the specific flag that OpenSSL's static library compiles under?</div></div></div></div><div><br></div><div>I'm puzzled as to how fixing that would fix the errors (the missing functions), but it's possible Visual Studio is getting confused.</div><div><br></div><div>The code I have is compiled both as a debug version (/MTd) and a release version (/MT) and both produce the same errors. So if this is the problem then OpenSSL must be compiled under one of the other two. That's going to be a problem. But an understood problem is easier to solve than one that's not understood!</div><div><br></div><div>If OpenSSL static is compiled with /MD or /MDd, is there any way to change the build script to compile it with /MT or /MTd?</div><div><br></div><div>If I have to rebuild the libraries, then I run into a second problem - it's not detecting that I have a 64-bit Visual Studio and is trying to compile everything as 32-bit and errors out on the 64-bit build. I can compile my code as 64-bit, so it's not a problem with Visual Studio - I've seen something on the Internet about NASM being 32-bit only, but that's old and I don't know if it's still valid.</div><div><br></div><div>Is NASM a problem with 64-bit builds and should I de-install it to get the code to build correctly in 64-bits?</div><div><br></div></div>