I am trying to build tcnative on Windows 7 using VS 2017 and it has been nothing but pain so far around the apr and tcnative itself. Any help is appreciated. I did get around the apr issues (which were very similar to what I am about to ask) by compiling via the .sln file. But the nmake route would simply not go with an error similar to the one below. One solution found on the internet [1] was to search replace #define _WIN32_WINNT with 0x0600 in /arp/include/arp.hw which I did but that still didn't fix the issue so I went the .sln file route (which still had to be adjusted to the correct target win SDK to find winsock2.h). Now I am stuck with the error below. I've googled that stuff to death and haven't been able to find a solution. What is the Tomcat team using to build tcnative on Windows? VS 2015?
Any pointers to get around this issue? cl -c -nologo -DWIN32 -D_WIN32 -D_WINDOWS -DWINNT -D_WINNT -D_WIN32_WINNT=0x0700 -DWINVER=0x0700 -D_WIN32_IE=0x0800 -DPSAPI_VERSION=1 -W3 -EHsc -D_MBCS -DMBCS -D_AMD64_=1 -DWIN64 -D_WIN64 -O2 -Ob2 -Zi -DNDEBUG -D_MT -MD -DAPR_DECLARE_STATIC -DZLIB_WINA PI -DNO_IDEA -DNO_RC5 -DNO_MDC2 -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DHAVE_OPENSSL -DHAVE_SSL_SET_STATE=1 -I.\include -I "C:\Java\jdk8u232zulu\include" -I "C:\Java\jdk8u232zulu\include\win32" -Id:\builds\deps\apr\include -Id:\builds\deps\apr\ include\arch\win32 -Id:\builds\deps\openssl\include -FoWIN7_X64_DLL_RELEASE\ -FdWIN7_X64_DLL_RELEASE\tcnative-1-src .\os\win32\registry.c registry.c d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2143: syntax error: missing ')' before '*' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2143: syntax error: missing '{' before '*' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2059: syntax error: ')' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2061: syntax error: identifier 'apr_winapi_pfn_if_indextoname' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2059: syntax error: ';' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2513: ' ': no variable declared before '=' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2065: 'apr_winapi_pfn_if_indextoname': undeclared identifier d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): warning C4047: '=': 'int' differs in levels of indirection from 'int *(__cdecl *)(NET_IFINDEX,PCHAR)' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2146: syntax error: missing ';' before identifier 'apr_load_dll_func' d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2100: illegal indirection d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): error C2064: term does not evaluate to a function taking 19 arguments d:\builds\deps\apr\include\arch\win32\apr_arch_misc.h(503): warning C4033: 'apr_winapi_if_indextoname' must return a value NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\cl.EXE"' : return code '0x2' Stop.