I found that enabling Unicode support in the Win32 APR project breaks many functions that rely on the Win32 API, including (at least) "apr_app_initialize( )" and "apr_file_copy( )". Specifically, setting the following compile flag:
# /D "_UNICODE" Or enabling "Use Unicode Character Set" in the General property tab (automatically sets said flag) causes the "apr_file_copy( )" function to fail in "filestat.c" at line 258: # rv = GetSecurityInfo((HANDLE)ufile, # SE_FILE_OBJECT, sinf, # ((wanted & APR_FINFO_USER) ? &user : NULL), # ((wanted & APR_FINFO_GROUP) ? &grp : NULL), # ((wanted & APR_FINFO_PROT) ? &dacl : NULL), # NULL, &pdesc); My theory is that "apr_arch_misc.h" fails to find "GetSecurityInfo", because Windows actually declares the wide-character version as "GetSecurityInfoW" when Unicode is enabled. Regardless, an easy workaround exits -- just don't set that flag. -david
