Har ett jäkligt irriterande problem nu istället. Har ett par (2 st) variabler som jag inte vet var jag ska sätta deklarationerna. Började med att ha dem i en header-fil och sätta #ifndef och #define i men det gick inte. Den försöker deklarera skiten i varenda fil ändå. :l
Har du provat med extern i deklarationsfilen och samma sak utan extern i en definitionsfil?
global.h: (inkluderas av alla filer)
extern HINSTANCE g_hInst;
global.cpp
#include "global.h"
HINSTANCE g_hInst;
Om du inte vill ha en förkompilerad deklarationsfil (precompiled header) kan du stänga av det i projektinställningarna. Då behöver du inte inkludera stdafx.h i alla filer. Nackdelen är att det kommer ta längre tid att kompilera programmet, eftersom standarddeklarationsfilerna måste kompileras flera gånger.
Har provat på alla möjliga tänkbara sätt, inklusive det där.
ClsFact.obj : warning LNK4006: "struct HINSTANCE__ * g_hInst" (?g_hInst@@3PAUHINSTANCE__@@A) already defined in Bar.obj; second definition ignored
ClsFact.obj : warning LNK4006: "unsigned int g_DllRefCount" (?g_DllRefCount@@3IA) already defined in Bar.obj; second definition ignored
fatal error C1010: unexpected end of file while looking for precompiled header directive
Förutsätter att du använder Visual Studio..
Det fick jag oxå för någon vecka sedan! Det var bara att gå in i Project->Settings->C/C++
Välj i Category "Precompiled headers" och klicka i "not using precompiled headers"
Så ska det funka!!
Det är till för att snabba upp kompilering, men är inte alls nödvändigt om projektet är litet.
266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25