#c
#c
Вопрос:
Это мой код, и он компилируется:
#include "Config.h"
#include "Banner.h"
#include "AuthServer.h"
#include "Server/Service/Connection/ConnectMethod.h"
using namespace std;
using namespace Vibranium;
AuthServer::AuthServer(std::string ip, std::string port) : Server(ip, port){}
void AuthServer::HandleRpcs() {
// Spawn a new CallData instance to serve new clients.
new ConnectMethod(amp;connectionService_, cq_.get());
void* tag; // uniquely identifies a request.
bool ok;
while (true) {
GPR_ASSERT(cq_->Next(amp;tag, amp;ok));
GPR_ASSERT(ok);
static_cast<ServiceMethod*>(tag)->Proceed();
}
}
void AuthServer::RegisterServices(ServerBuilder amp;serverBuilder) {
serverBuilder.RegisterService(amp;connectionService_);
}
int main() {
//Don't mind Logger::FatalError it's just for coloring!
Banner::Show(Logger::Error,"AuthServer");
Config config("AuthServer");
std::string defaultIp = "127.0.0.1";
std::string defaultPort = "8080";
try
{
AuthServer authServer(defaultIp, defaultPort);
authServer.Run();
}
catch (std::exceptionamp; e)
{
std::cerr << "Exception: " << e.what() << "n";
}
return 0;
}
Однако, если я добавлю #include "Implementation/LoginDatabase.h"
после #include "AuthServer.h""
его компиляции, если я добавлю его до #include "AuthServer.h"
того, как получу следующую странную ошибку, проверьте это здесь, поскольку оно длинное -> Нажмите здесь!
Я приведу содержимое заголовочных файлов в GitHub Gists, чтобы сделать вопрос более читабельным. Надеюсь, вы не возражаете против этого.
Вот содержимое конфигурации.h LoginDatabase.h MySqlConnection.h баннер.h AuthServer.h ConnectMethod.h
Насколько я понимаю, скорее всего, у меня где-то есть двойной включенный файл заголовка или мои заголовочные щитки не работают?
В чем моя ошибка и как я могу ее исправить?
Комментарии:
1. Вы уверены
#define INTERNAL
, что нигде нет?2. Нет во всех файлах проекта @Yksisarvinen
3. @Yksisarvinen пожалуйста, взгляните на обновленный вопрос
if I add #include "Implementation/LoginDatabase.h" after #include "AuthServer.h"" it compiles, if I add it before #include "AuthServer.h"
4. Итак
AuthServer.h
, содержит что-то, чтоLoginDatabase.h
нужно? ВозможноLoginDatabase.h
, следует включитьAuthServer.h
?5. Включите соответствующий код в сам вопрос, а не в ссылки. Я, например, не могу открыть их из-за политики моей компании.