[ 
https://issues.apache.org/jira/browse/THRIFT-1123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089752#comment-13089752
 ] 

Deepak Muley commented on THRIFT-1123:
--------------------------------------

Has anybody faced following issue while using the windows port:

When I compile the thrift file in x64 config, server using this file compile 
properly but when in x86 config, I have to explicitly add following code in 
autogenerated code to be able to make it compilable 

class MyServerProcessor : virtual public ::apache::thrift::TProcessor, public 
facebook::fb303::FacebookServiceProcessor {

...
  bool process(boost::shared_ptr<::apache::thrift::protocol::TProtocol> in,
          boost::shared_ptr<::apache::thrift::protocol::TProtocol> out,
          void* connectionContext){
                  return process(in,out);
  }
...

else I get following error

 error C2259: 'MyServerProcessor' : cannot instantiate abstract class

when i call as follows:

boost::shared_ptr<TProcessor> processor(new MyServerProcessor(handler));


Why does it happen only for x86 and not for x64? and how to fix it at the root 
else this is a manual steps for me all the time. Tried to compile the same with 
0.6.1 windows thrift compiler as well but same behavior.

> Patch to compile Thrift server and client for vc++ 9.0 and 10.0
> ---------------------------------------------------------------
>
>                 Key: THRIFT-1123
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1123
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>         Environment: Windows XP 32bit, vc++ 9.0, 10.0
>            Reporter: Dragan Okiljevic
>            Priority: Trivial
>             Fix For: 0.8
>
>         Attachments: 
> additional_thrift_cpp_visual_studio_2008_and_2010_endians_patch(concerning_ticket_1123_and_possibly_1031_patches).patch,
>  thrift_msvc_client_and_server.patch
>
>
> Extension of THRIFT-1031 patch published by James Dickson
> This patch is intended to provide Thrift C/C++ functionality on WIN32 
> platforms.
> The implementation is built on top of the patch "Patch to compile Thrift for 
> vc++ 9.0 and 10.0" by James Dickson published as THRIFT-1031. I just used 
> this code and ported more Thrieft C/C++ to WIN32 and added them to original 
> VC projects created in THRIFT-1031.
> I express my gratitude to Mr. Dickson as his post gave me the roadmap how to 
> do the additional changes, that I hope, would be useful for the rest of the 
> community too.
> Besides client capabilities enabled in THRIFT-1031, the library can now be 
> used for building Thrift servers and using concurrency features. The dir/file 
> structure from THRIFT-1031 and usage of Config.h header for providing support 
> for both WIN32 and *NIX remains.
> The implementation was tested briefly on MSVC2008, MSVC2010 and Ubuntu, 
> communicating between C/C++ clients and servers and Java clients and servers. 
> As the author needs all of this functionality for one of his projects, the 
> testing and debugging will continue.
> Revision 1086435 from March, 28, 2011. was used for development and creation 
> of patch, but it should be possible to apply it on current trunk revision as 
> long as no changes are made to patched files in trunk.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to