You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Jim Cofer <Ji...@microfocus.com> on 2010/10/07 17:04:49 UTC

[users@httpd] Compiling httpd's open.c under Windows VS2008 IDE

 

I downloaded and extracted Apache httpd 2.2.16, opened Apache.sln under
Windows for VS2008, selected "Release - Win32" and right clicked
"httpd", Rebuild.    I keep hitting the following error under the libapr
build: 

 

.\file_io\win32\open.c(608) : error C2065: 'wto_path' : undeclared
identifier

.\file_io\win32\open.c(608) : warning C4047: 'function' : 'LPCSTR'
differs in levels of indirection from 'int'

.\file_io\win32\open.c(608) : warning C4024: 'CreateHardLinkA' :
different types for formal and actual parameter 1

 

The code snippet is this:

 

#if APR_HAS_UNICODE_FS

    IF_WIN_OS_IS_UNICODE

    {

        apr_wchar_t wfrom_path[APR_PATH_MAX];

        apr_wchar_t wto_path[APR_PATH_MAX];

 

        if (rv = utf8_to_unicode_path(wfrom_path, sizeof(wfrom_path) 

                                               / sizeof(apr_wchar_t),
from_path))

            return rv;

        if (rv = utf8_to_unicode_path(wto_path, sizeof(wto_path) 

                                               / sizeof(apr_wchar_t),
to_path))

            return rv;

 

        if (!CreateHardLinkW(wto_path, wfrom_path, NULL))

                return apr_get_os_error();

    }

#endif

#if APR_HAS_ANSI_FS

    ELSE_WIN_OS_IS_ANSI {

        if (!CreateHardLinkA(wto_path, wfrom_path))

                return apr_get_os_error()

    }

#endif

 

"wto_path" is locally scoped in the "if" part of the statement, but it
is not defined in the "else".    Additionally, CreateHardLinkA need 3
parameters.

 

I "searched" both the Wiki and FAQs, but did not find any other
references to this error.  Has anyone else hit it and found a
resolution?    I am using Microsoft VS2008 under a Windows 7 x32 system.

 

My apologies if this has already been addressed somewhere else.  Any
links would be appreciated.

 

Regards,  Jim
 
Please consider the environment before printing this e-mail.