Stupid me. The include path via -I was causing the string.h from kj to be included ahead of string.h from system directory.
On Tuesday, July 5, 2016 at 5:46:19 AM UTC-5, Waikiki Yeh wrote: > > Hello, > > I am testing out using capnp for serialization only on an older Linux > distro (namely Red Hat 5). Running make directly would lead to failure on > signalfd.h not being found as expected. Looking at the docs on the web, > configure.ac, Makefile.am, and the generated Makefile, it seems that the > serialization part resides on capnp, capnp-c++, capnpc-capnp, ibcapnp.la, > libcapnpc.la, libkj.la, and the shared objects. > > I then proceeds to copy the headers and binary to a different directory. > Using the AddressBook example on capnp website, I was able to generate the > .c++ and .h file from it. However, when I try to include the capnp > generated .h file and compile a simple test with the following command: > > " g++ -v -std=c++11 -o my_test my_test.cpp my_test.capnp.c++ > -I<path_to_capnp>/include -I<path_to_capnp>/include/kj" > > all hell broke loose and I got all kinds of error on memcpy, strlen, > memset in capnp headers being not a member of std. An exact error looks like > > "layout.h:1084:3: error: 'memcpy' is not a member of 'std' > std::memcpy(&tag, &other.tag, sizeof(tag)); // Needs memcpy to comply > with aliasing rules." > > The g++ is 4.8.1. Sorry for being somewhat vague, I am not sure which > information is relevant and which is not. Greatly appreciate if anyone can > point to a direction for debugging. Thanks. > > W.K Yeh > > > > > -- You received this message because you are subscribed to the Google Groups "Cap'n Proto" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/capnproto.
