Fråga : ”one or more multiplicerar definierat symboler funnit” fel in VS C++ 2010

Detta har jag varit funktionsduglig på för timmar och kan inte figurera ut. Jag skapade en metodinsida som en para av kallade namespaces formaterar daterar: för class=" codeSnippet " för
1 för >#ifndef MXF_DATE_HPP " för prettyprint " för class= för id= " codeSnippet788201 " för >


When I för <-/pre>
”); inre huvudsaklig I-uppehälle som får detta fel: class= " citerad” >stdafx.obj för
uct std:: char_traits class std:: allocator- > __cdeclmxf:: datera:: formatDate (klassificera std:: basic_stringuct std:: char_traits class std:: allocator >)” (? formatDate@date@mxf@@YA? AV? $basic_string@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@V34@@Z) som redan ar definierad i dokument för Sandbox.obj
C:\Documents and Settings\Owner\My \ visuellt hjälpmedelstudion 2010 \, projekterar \ f \ Sandbox.exe: dödligt fel LNK1169: one or more multiplicerar definierade symboler som found

I har verifyed över, och över igen det hppen är inklusive endast en gång, och det där är inget som namnges på motsvarande sätt, fungerar. Är här mitt huvudsakligt (): för class=" codeSnippet " för
1 för >int " för prettyprint " för class= för id= " codeSnippet788202 " för >


I för <-/pre>

Thanks för hjälpen!

Dan
" klar "

Svar : ”one or more multiplicerar definierat symboler funnit” fel in VS C++ 2010

Även om jag var kompetent att reproducera problemet, genom att överträda en av dina grundläggande principer - ”mig, har verifyed över, och över igen det hppen är inklusive endast en gång”. Jag vet erfarenhetsmässigt att titelrader har a långt av att krypa in oväntat. Du gjorde inte omnämnande, huruvida som du kontrollerade titelradberoenden, så att kunde vara en utfärda. Vid några riskera, är spara som inkluderar din titelrad, också som en titelrad sparar; och om så, är därefter den titelrad sparar kallat i multipellägen?

Lösningen för mig var att förklara att formatDaten fungerar i titelraden och flyttningen som förkroppsliga till dess egna .cpp sparar. (Du kan tillfoga den till en existerande .cpp sparar, om du önskar.), Funderare I du bör göra denna för att se vad händer.

Felnågot att sägaformatDaten definieras i sandlåda. Om Sandbox.cpp är, spara, som har det huvudsakliga () det dig, postade, därefter inget problem. Om inte, därefter du ser formatDate där?

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
den // titelraden sparar - reviderat
namespace-mxf
{
	namespace daterar
	{
		std:: stränga formatDate (std:: stränga formatStr);
	}
}

nya // mxf_date.cpp sparar - tillfogat för att projektera
#include  
#include ”mxf_date.h”,
std:: stränga mxf:: datera:: formatDate (std:: stränga formatStr),
{
	gå ”abc tillbaka”;
}
Andra lösningar  
 
programming4us programming4us