The above error happens when I compile *without* readline. The reason I did
that was because of a different error that happens when compiling with
readline:
g++ -DHAVE_CONFIG_H -I. -I.. -rdynamic -g -MT NamedObject.o -MD -MP
-MF .deps/NamedObject.Tpo -c -o NamedObject.o NamedObject.cc
clang: warning: argument unused during compilation: '-rdynamic'
In file included from Input.cc:55:
/usr/include/readline/readline.h:40:15: error: typedef redefinition with
different
types ('int (const char *, int)' vs 'Function')
typedef int Function(const char *, int);
^
./Function.hh:49:7: note: previous definition is here
class Function : public NamedObject
^
Input.cc:117:25: error: assigning to 'Function *' from incompatible type
'int ()'
rl_startup_hook = Input::init_readline_control_C;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Input.cc:399:4: error: use of undeclared identifier 'rl_crlf'
rl_crlf();
^
Input.cc:400:4: error: use of undeclared identifier 'rl_delete_text'
rl_delete_text(0, rl_end);
^
Input.cc:401:4: error: use of undeclared identifier 'rl_done'
rl_done = 1;
^
5 errors generated.
make[3]: *** [Input.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Regards,
Elias
On 23 July 2014 23:04, Elias Mårtenson <[email protected]> wrote:
> Here's the error:
>
> g++ -DHAVE_CONFIG_H -I. -I.. -rdynamic -g -MT NamedObject.o -MD -MP
> -MF .deps/NamedObject.Tpo -c -o NamedObject.o NamedObject.cc
> clang: warning: argument unused during compilation: '-rdynamic'
> Input.cc:67:39: warning: control reaches end of non-void function
> [-Wreturn-type]
> static char * readline(const char *) {}
> ^
> Input.cc:69:28: warning: control reaches end of non-void function
> [-Wreturn-type]
> int rl_bind_key(int, int) {}
> ^
> Input.cc:70:38: warning: control reaches end of non-void function
> [-Wreturn-type]
> int rl_parse_and_bind(const char *) {}
> ^
> Input.cc:117:25: error: assigning to 'void (*)()' from incompatible type
> 'int ()':
> different return type ('void' vs 'int')
> rl_startup_hook = Input::init_readline_control_C;
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Input.cc:386:4: error: no matching function for call to 'rl_bind_key'
> rl_bind_key(CTRL('C'), &readline_control_C);
> ^~~~~~~~~~~
> Input.cc:69:5: note: candidate function not viable: no known conversion
> from
> 'int (*)(int, int)' to 'int' for 2nd argument
> int rl_bind_key(int, int) {}
> ^
> Input.cc:399:4: error: use of undeclared identifier 'rl_crlf'
> rl_crlf();
> ^
> Input.cc:400:22: error: use of undeclared identifier 'rl_end'
> rl_delete_text(0, rl_end);
> ^
> Input.cc:401:4: error: use of undeclared identifier 'rl_done'
> rl_done = 1;
> ^
> 3 warnings and 5 errors generated.
>
> Regards,
> Elias
>