Update issue 35
Status: FixedInGit
for dependency in dependencies:
noext = os.path.splitext(dependency)[0]
yield '#include "%s.pb.h"\n' % noext
- yield '\n'
+
+ yield '#ifdef __cplusplus\n'
+ yield 'extern "C" {\n'
+ yield '#endif\n\n'
yield '/* Enum definitions */\n'
for enum in enums:
yield 'STATIC_ASSERT((%s), YOU_MUST_DEFINE_PB_FIELD_32BIT)\n' % assertion
yield '#endif\n'
+ yield '\n#ifdef __cplusplus\n'
+ yield '} /* extern "C" */\n'
+ yield '#endif\n'
+
# End of header
yield '\n#endif\n'
#include <stdbool.h>
#include "pb.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Lightweight input stream.
* You can provide a callback function for reading or use
* pb_istream_from_buffer.
bool pb_skip_string(pb_istream_t *stream);
#endif
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
#endif
#include <stdbool.h>
#include "pb.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Lightweight output stream.
* You can provide callback for writing or use pb_ostream_from_buffer.
*
* instead, it has the same functionality with a less confusing interface. */
bool pb_enc_submessage(pb_ostream_t *stream, const pb_field_t *field, const void *src);
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif