Hello experts, I am in the process of porting Protobuf on WINCE ARM plaform.As i understood from the mail discussions and googling found that protobuf is not currently supported on the wince platforms. When i tried to compile code using visual studio 2008 compiler i am getting following compilation issues.
>From the compilation errors i understand that atomic operations for arm wince need to be implemented. protobuf\interface\google\protobuf\stubs\atomicops.h(174) : error C2121: '#' : invalid character : possibly the result of a macro expansion protobuf\interface\google\protobuf\stubs\atomicops.h(174) : error C2143: syntax error : missing ';' before 'string' protobuf\interface\google\protobuf\stubs\atomicops.h(174) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int protobuf\interface\google\protobuf\stubs\once.h(84) : error C2143: syntax error : missing ';' before '{' protobuf\interface\google\protobuf\stubs\once.h(84) : error C2447: '{' : missing function header (old-style formal list?) protobuf\interface\google\protobuf\generated_message_util.h(75) : error C2146: syntax error : missing ';' before identifier 'empty_string_once_init_' protobuf\interface\google\protobuf\generated_message_util.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int protobuf\interface\google\protobuf\generated_message_util.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int protobuf\interface\google\protobuf\generated_message_util.h(84) : error C2039: 'GoogleOnceInit' : is not a member of 'google::protobuf' protobuf\interface\google\protobuf\generated_message_util.h(84) : error C3861: 'GoogleOnceInit': identifier not found protobuf\interface\google\protobuf\io\coded_stream.h(121) : warning C4068: unknown pragma protobuf\interface\google\protobuf\io\coded_stream.h(1219) : warning C4068: unknown pragma d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(190) : error C2039: 'ProtobufOnceType' : is not a member of 'google::protobuf' d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(190) : error C2146: syntax error : missing ';' before identifier 'protobuf_AssignDescriptors_once_' d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(190) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(190) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(190) : error C2039: 'ONCE_STATE_UNINITIALIZED' : is not a member of 'google::protobuf' d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(190) : error C2065: 'ONCE_STATE_UNINITIALIZED' : undeclared identifier d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(192) : error C2039: 'GoogleOnceInit' : is not a member of 'google::protobuf' d:\perforce\mil_wince_dev\build\output\windows-wince-arm-msvc9\engines\mapmatching\mapdataprovider\common\protogeneration\protobufs\arc.pb.cc(192) : error C3861: 'GoogleOnceInit': identifier not found and so on ................................. I checked the error is found to be caused by the line "GOOGLE_PROTOBUF_ATOMICOPS_ERROR" // MSVC. #elif defined(_MSC_VER) #if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) #include <google/protobuf/stubs/atomicops_internals_x86_msvc.h> #else GOOGLE_PROTOBUF_ATOMICOPS_ERROR #endif #define GOOGLE_PROTOBUF_ATOMICOPS_ERROR \ #error "Atomic operations are not supported on your platform" Are there any opensource libs which makes use of atomic operations for wince arm platforms which i can reuse here ? Please suggest me the approach on how to implement atomic operations for wince arm platform. Regards GHT -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.