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 <loke...@gmail.com> 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
>

Reply via email to