15. november 2005 - 16:43Der er
12 kommentarer og 1 løsning
Angående #ifndef, #define, #endif
Hejsa
Jeg har lidt bøvl med at bruge #ifndef, #define, #endif konstruktionen.
Jeg har en fil func.h som indeholder følgende:
#ifndef FUNC_H
#define FUNC_H 1
...
#include "shared/wxLogger.h"
// Defining a global logging class wxLogger logging;
#endif
Denne file bliver så includeret af to filer museq.h og wxMainFrame.h, hvor wxMainFrame.h bliver includeret af museq.h. Problemet er at linker giver følgende fejl:
wxMainFrame.obj : error LNK2005: "class wxLogger logging" (?logging@@3VwxLogger@@A) already defined in museq.obj .\Debug\MuSeq.exe : fatal error LNK1169: one or more multiply defined symbols found
Er der noget har jeg misforstået ved define konstruktionen, eller skal kigget et andet sted?
okey... Synes bare at jeg har fået fejl, hvis jeg forsøgte med: A includer B og C, mens B includer C. Så brokker den sig over at typer i C er blevet erklæret flere gange. Det er derfor jeg bruger det, men tager jeg fejl??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.