Błąd kompilacji na nowej bibliotece boost
Ostatnio zmodyfikowano 2021-06-05 13:17
Creativess Temat założony przez niniejszego użytkownika |
» 2021-06-05 12:41:04 Z tego wszystkiego to zapomniałem że task ma operator w osobnym pliku tasks.h z tego powodu wywaliło: tasks.h:72:7: error: redefinition of ‘class Task’ class Task{ ^~~~
#ifndef __OTSERV_TASKS_H__ #define __OTSERV_TASKS_H__
#include <boost/function.hpp> #include <functional> #include "game.h"
class Task { public: Task( boost::function1 < bool, Game * > f ) : _f( f ) { } virtual ~Task() { } virtual void operator()( Game * arg ) { _f( arg ); } protected: boost::function1 < bool, Game * > _f; };
#endif
|
|
DejaVu |
» 2021-06-05 12:45:19 No to zadbaj o to, aby był on w jednym miejscu. Być może w tym pliku powinieneś mieć po prostu: Potem dołącz wszędzie plik task, gdzie potrzebujesz taska: |
|
pekfos |
» 2021-06-05 12:48:57 Ten plik jest zabezpieczony przed dwukrotnym dołączeniem, więc gdzieś w kodzie musi być jakaś śmieciowa definicja. W komunikacie błędu są podane lokalizacje obu, ale nie ma co się za dużo spodziewać po logu podanym przez użytkownika. |
|
Creativess Temat założony przez niniejszego użytkownika |
» 2021-06-05 13:10:05 Po dodaniu class Game; w tasks.h I fixie od pekfos, kompilacja przeszła, przepaszam Pekfos za brak rozgarnięcia z tym logiem, jak mogę namierzyć tą deklaracje zbędna która określiłeś jako śmieciowa? |
|
pekfos |
» 2021-06-05 13:17:14 jak mogę namierzyć tą deklaracje zbędna która określiłeś jako śmieciowa? Powinieneś mieć lokalizację w komunikacie błędu. Przykładowo a.cpp:5:7: error: redefinition of 'class Task' 5 | class Task | ^~~~ a.cpp:1:7: note: previous definition of 'class Task' 1 | class Task | ^~~~ |
|
1 « 2 » |