Sun May 09 09:09:00 2010: Request 55660 was acted upon.
Transaction: Correspondence added by COSIMO
       Queue: Win32-API
     Subject: [PATCH] Partial win64 support for Win32::API
   Broken in: (no value)
    Severity: (no value)
       Owner: COSIMO
  Requestors: sbenn...@accelrys.com
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=55660 >


On Sun May 09 08:50:52 2010, sisyph...@optusnet.com.au wrote:
> 
> ----- Original Message -----
> From: "Sisyphus" <sisyph...@optusnet.com.au>
> 
> > In any case, I'll try to rebuild the API_test64.dll when I get the
> time -
> 
> Yes, I think that fixes the problem. The only test script that now
> fails is
> 01_Struct.t.
> 
> I built the API_test64.dll manually by running:
> 
> cl -c API_test.cpp
> cl /LD API_test.obj API_test.def bufferoverflowU.lib
> I then renamed the API_test.dll that was produced, to API_test64.dll.

Excellent.

Please send me your API_test64.dll.
I'll include it in the distribution.
I know that's not optimal, but at least we can move forward.

> For that to work, in API_test.h, I had to first change:
> 
> #ifdef API_TEST_EXPORTS
> #define API_TEST_API  __declspec(dllexport)
> #else
> #define API_TEST_API  __declspec(dllimport)
> #endif
> 
> to:
> 
> #ifdef API_TEST_EXPORTS
> #define API_TEST_API  /* __declspec(dllexport) */
> #else
> #define API_TEST_API  /* __declspec(dllimport) */
> #endif
> 
> Otherwise, when trying to compile the obj file, I got errors of the
> type:
> 
> API_test.cpp(31) : error C2491: 'nAPI_test' : definition of dllimport
> data
> not allowed
> API_test.cpp(33) : error C2491: 'sum_integers' : definition of
> dllimport
> function not allowed
> API_test.cpp(37) : error C2491: 'sum_integers_ref' : definition of
> dllimport
> function not allowed
> [and more similar]

That's strange. I don't understand.
I'm trying to get access to a x64 environment with a working MSVC, to 
test this. It's not so easy atm.

Thanks guys for your contribution on this.

Reply via email to