./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?
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.
As a side note, I've run into the same issue for different reasons: I was trying to use a vector < vector < double >>. Now the ">>" character sequence mustn't be used with templates according to the C++99 standard, hence the swig error message popped up. The solution was to simply add an extra space to separate them.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With