MantisBT - VCMI
View Issue Details
0000847VCMIOtherpublic2012-01-12 18:162012-05-15 17:07
Warmonger 
Ivan 
normalminorhave not tried
closedfixed 
PCWindows 7SP1
 
0.880.88 
0000847: Linker error: Unresolved external symbol after revision 2507
Well, I didn't track Json development recently, so couldn't find this one.
error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class JsonNode const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABVJsonNode@@@Z) F:\Programowanie\VCMI\vcmi\client\CConfigHandler.obj
No tags attached.
Issue History
2012-01-12 18:16WarmongerNew Issue
2012-01-12 18:16WarmongerStatusnew => assigned
2012-01-12 18:16WarmongerAssigned To => Ivan
2012-01-12 18:17WarmongerDescription Updatedbug_revision_view_page.php?rev_id=1487#r1487
2012-01-12 18:17WarmongerAdditional Information Updatedbug_revision_view_page.php?rev_id=1489#r1489
2012-01-12 18:48IvanNote Added: 0002156
2012-01-12 18:51IvanNote Edited: 0002156bug_revision_view_page.php?bugnote_id=2156#r1491
2012-01-12 19:48IvanNote Edited: 0002156bug_revision_view_page.php?bugnote_id=2156#r1492
2012-01-12 20:09IvanNote Edited: 0002156bug_revision_view_page.php?bugnote_id=2156#r1493
2012-01-12 20:17IvanNote Added: 0002157
2012-01-12 20:17IvanStatusassigned => feedback
2012-01-12 20:43WarmongerNote Added: 0002158
2012-01-12 20:43WarmongerStatusfeedback => assigned
2012-01-12 20:43WarmongerStatusassigned => resolved
2012-01-12 20:43WarmongerFixed in Version => 0.89
2012-01-12 20:43WarmongerResolutionopen => fixed
2012-05-15 17:07IvanNote Added: 0002439
2012-05-15 17:07IvanStatusresolved => closed

Notes
(0002156)
Ivan   
2012-01-12 18:48   
(edited on: 2012-01-12 20:09)
Weird...
Comes from CConfigHandler.cpp:75
After removing all that templates I got this:
std::ostream & operator<<(std::ostream &, JsonNode const &)

Which _is_ defined in JsonNode.h:101 - JsonNode.cpp:325

(0002157)
Ivan   
2012-01-12 20:17   
I think I found it - add DLL_LINKAGE in front of declaration (JsonNode.h:101) -
DLL_LINKAGE std::ostream & operator<<(std::ostream &out, const JsonNode &node);
(0002158)
Warmonger   
2012-01-12 20:43   
Thanks, it worked.

Fixed in r2508.
(0002439)
Ivan   
2012-05-15 17:07   
Closing old compile issues