Closed trondhe closed 5 years ago
GCC 4.3.3 is almost 10 years old, so I suspect it's going to be hard to get things working on such an old compiler. I assume you must also be using an older version of protobuf as well, since we require C++11 starting from protobuf 3.6. The ideal solution would be to use a newer compiler, but if that's not possible then you may have to just modify the source to get things working.
Yeah I am aware, it is a limitation due to Windriver not supporting some hardware sadly. I am using Protobuf 3.5 which does not require C++11, but does use tr1.
I have now gotten the lite version of protobuf to build for VxWorks 6.9 which seemed to compile fine with some small changes to some headers and sources due to different named functions. The older boost libraries (<1.66) does contain an wrapper implementation of tr1 which maybe could be used to get the full version working. The lite version covers all requirements so I will not try to get the full library to compile.
I have now gotten the lite version of protobuf to build for VxWorks 6.9 which seemed to compile fine with some small changes to some headers and sources due to different named functions. The older boost libraries (<1.66) does contain an wrapper implementation of tr1 which maybe could be used to get the full version working. The lite version covers all requirements so I will not try to get the full library to compile.
hi, trondhe. i'm also trying to compile protobuf-lite for vxworks 6.8, but something wrong troubled me for a long time. could you give me some help?
when i test protobuf-lite for vxworks 6.8 running on P2020, it goes into a infinite loop of ASM instructions at function GoogleOnceInitImpl in once.cc line 66. i use protobuf 3.5.1
Compiling protobuf with a gcc 4.3 compiler seems to assume that the tr1 namespace is available following code in hash.h. The VxWorks compiler I am using does not support it which creates some issues. Cf. this link after running ./configure one can use the generated config.h file to replace the hash/set types with boosts version. As I am using CMake on both Windows and Linux, there does not seem to be a similar easy path to replace it with than modifying the source? The file is a bit cryptic for me, so if there is something I have overlooked, or anyone has a smart solution, I am all ears!