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.