je tentais de compiler du code C++ dans Xcode et je suis arrivé cette erreur:Problème lors de la compilation du code C++ avec Xcode
Undefined symbols:
"Editorial::sm_nTotalEditorials", referenced from:
Editorial::AskTotal() in editorial.o
Editorial::~Editorial()in editorial.o
Editorial::~Editorial()in editorial.o
La liste suit avec deux entrées pour le destructor et quatre entrées pour le constructeur (qui je crois sont les seules fonctions dans lesquelles j'utilise sm_nTotalEditorials). J'attache la définition de la variable et les fonctions dans lesquelles je l'utilise.
class Editorial
{
private:
static int sm_nTotalEditorials;
...
}
int Editorial::AskTotal() {return sm_nTotalEditorials;}
Editorial::~Editorial()
{
if (!m_pPrev) sm_pFirstEditorial=m_pNext;
if (m_pPrev) (*m_pPrev).SetContext((*m_pPrev).AskPrev(),m_pNext);
if (m_pNext) (*m_pNext).SetContext(m_pPrev,(*m_pNext).AskNext());
sm_nTotalEditorials--;
}
Ensuite, il imprime erreur similaire avec les 3 autres variables privées statiques que j'utilise. Je dois me tromper avec l'utilisation statique. C'est mon premier code C++, donc je m'excuse pour toute mauvaise syntaxe ou si la question est trop bête; J'ai essayé de chercher sur internet mais l'erreur imprimée par Xcode est assez ambiguë et selon les tutoriels que j'ai pu voir, j'utilise tout comme il se doit. De plus, le code est assez long pour tout imprimer, et j'ai collé les parties où je pense que l'erreur devrait être, mais encore une fois je ne suis pas sûr de cela non plus.
quelle est la fin de votre code source? .m ou .cpp? – hol
Je ne sais pas si cela aide. Mais je me souviens que j'ai essayé de compiler du code C et quand j'ai changé la fin de .c en .m, elle s'est soudainement compilée. Peut-être pas votre problème juste une pensée. – hol