I built the debug build of Apache httpd, and when I run it, I get

httpd: Syntax error on line <line> of <config file path>: Cannot load modules/mod_http2.so into server: the specified module could not be found.

and/or

httpd: Syntax error on line <line> of <config file path>: Cannot load modules/mod_ssl.so into server: %1 is not a valid Win32 application.

But modules/mod_http2.so does indeed exist, and dumpbin says it's a valid image file, and it says the same about mod_ssl.so. WTH?

The problem with mod_http2.so is probably that your bin folder contains nghttp2d.dll and not nghttp2.dll ; this dll is used by mod_http2.so .Just copy nghttp2d.dll to nghttp2.dll and try it again.

The problem with mod_ssl.so is probably that your bin folder contains

libcrypto-1_1-x64.dll and not libcrypto-1_1.dll; and libssl-1_1-x64.dll and not libssl-1_1.dll

Just copy the appropriate files and try it again.

I found the solution using Process Monitor (https://www.microsoft.com/sysinternals ) -- a very useful utility. Credit "Synetech"'s comment on serverfault.com for suggesting to someone else with an httpd module-loading problem that they use Process Monitor to track it down.