Swig: Syntax error in input(3)

c, swig, syntax

Solution

Typically, a syntax error in SWIG means that it can't understand the line in question (which can be annoying, because the line numbers don't follow macros such as `%define`s). So I suggest you check that `string` (should it be `std::string`? has it been defined?), `GDBM_FILE` (has it been defined? should it be in a namespace?) and maybe `gbls.verbose` (has it been defined?) make sense to SWIG. It may help to run `swig` with the `-E` option (be sure to redirect the stdout), find the corresponding line and search backward for each type involved. You may need to add some `#include`s.

Also check the previous line, to ensure you're not missing a semicolon, or something like that.

Problem

``` ./theheader.h:349: Error: Syntax error in input(3). ``` Offending line: ``` string read_gdbm(GDBM_FILE dbf, string key_str, bool show_err = gbls.verbose); ``` Any ideas?

Original source

Related problems