2016-12-10 1 views
0

Je reçois l'erreur suivante lorsque vous essayez de compiler mon code: error LNK1561: entry point must be defined.Erreur: LINK: LNK1561 d'erreur fatale: point d'entrée doit être défini C++

Contexte: Je suis en train d'exécuter une application console Win32 et utiliser Google Cadre de tests.

J'ai ma configuration principale de fonction et j'ai déjà vérifié que mon Linker est réglé sur Console (/SUBSYSTEM:CONSOLE) par d'autres suggestions dans beaucoup de questions que j'ai vues. Je ne suis pas sûr pourquoi il n'aime pas ma fonction principale, parce que cela est défini comme le point d'entrée.

Voici mon code:

bob.h

#ifndef BOB_BOB_H 
#define BOB_BOB_H 

#include <string> 
using namespace std; 

namespace bob { 
    string hey(const string&); 
} 

#endif 

bob.cpp

#include "bob.h" 

using namespace std; 

namespace bob { 

string hey(const string& theString) 
{ 
    return "Whatever." 
} 

} 

bob_tests.cpp

// bob_tests.cpp : Defines the entry point for the console application 
// 

#include "bob.h" 
#include <gtest/gtest.h> 

int main(int argc, char** argv) { 
    testing::InitGoogleTest(&argc, argv); 
    return RUN_ALL_TESTS(); 
} 

TEST(Bob, stating_something) 
{ 
    EXPECT_STREQ("Whatever." bob::hey("Tom-ay-to, tom-aaaah-to.")); 
} 

Répondre

0

Vous devez définir le point d'entrée. J'ai vu que vous avez écrit "Console (/ SubSystem: CONSOLE)" donc je pense que vous êtes sur Visual Studio, donc vous devez aller à Linker-> Advanced -> (assurez-vous que "No Entry" est réglé sur " Non ") -> L'entrée doit être réglée sur" principal ".

+0

"Aucune entrée" est réglé sur Non Devrais-je le changer? – WitchKing17

+0

Linker-> Advanced-> Entrée = principal, Linker-> Advanced-> No Entry = No –

+0

Cela n'a pas fonctionné ... toujours obtenir la même erreur – WitchKing17