RevDCM Compile Error Help

Cap'nCanuck

Chieftain
Joined
Aug 25, 2010
Messages
5
Location
Vancouver, B.C.
Hey, long-time lurker. I decided to try my hand at SDK compiling, but unfortunately I have little experience in any script or history with programming (the most I did was horsehockey JASS for WC3). Anyway, I decided I wanted to mod some of the traits for BtS and wanted to put them in RevDCM (wanted to make Protective less suck).

I followed the steps in Refal's guide to the letter and successfully compiled a vanilla BtS gamecore without much error. I then used WinMerge to copy over files from the RevDCM source file included during the install (including moving over the appropriate Makefile) and tried to recompile, but I got this error:

Spoiler :
Code:
1>CyCityInterface2.obj : error LNK2019: unresolved external symbol "public: int __thiscall CyCity::getUnitProductionDecayTurns(int)" (?getUnitProductionDecayTurns@CyCity@@QAEHH@Z) referenced in function "void __cdecl CyCityPythonInterface2(class boost::python::class_<class CyCity,struct boost::python::detail::not_specified,struct boost::python::detail::not_specified,struct boost::python::detail::not_specified> &)" (?CyCityPythonInterface2@@YAXAAV?$class_@VCyCity@@Unot_specified@detail@python@boost@@U2345@U2345@@python@boost@@@Z)
1>CyCityInterface2.obj : error LNK2019: unresolved external symbol "public: int __thiscall CyCity::getUnitProductionDecay(int)" (?getUnitProductionDecay@CyCity@@QAEHH@Z) referenced in function "void __cdecl CyCityPythonInterface2(class boost::python::class_<class CyCity,struct boost::python::detail::not_specified,struct boost::python::detail::not_specified,struct boost::python::detail::not_specified> &)" (?CyCityPythonInterface2@@YAXAAV?$class_@VCyCity@@Unot_specified@detail@python@boost@@U2345@U2345@@python@boost@@@Z)
1>CyCityInterface2.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CyCity::isUnitProductionDecay(int)" (?isUnitProductionDecay@CyCity@@QAE_NH@Z) referenced in function "void __cdecl CyCityPythonInterface2(class boost::python::class_<class CyCity,struct boost::python::detail::not_specified,struct boost::python::detail::not_specified,struct boost::python::detail::not_specified> &)" (?CyCityPythonInterface2@@YAXAAV?$class_@VCyCity@@Unot_specified@detail@python@boost@@U2345@U2345@@python@boost@@@Z)
1>CvXMLLoadUtilitySetMod.obj : error LNK2019: unresolved external symbol "public: int __thiscall CvGlobals::getModLoadControlVectorSize(void)" (?getModLoadControlVectorSize@CvGlobals@@QAEHXZ) referenced in function "public: void __thiscall CvXMLLoadUtilitySetMod::setModLoadControlDirArray(bool)" (?setModLoadControlDirArray@CvXMLLoadUtilitySetMod@@QAEX_N@Z)
1>CvXMLLoadUtilitySetMod.obj : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall CvModLoadControlInfo::getModuleFolder(int)" (?getModuleFolder@CvModLoadControlInfo@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) referenced in function "public: void __thiscall CvXMLLoadUtilitySetMod::setModLoadControlDirArray(bool)" (?setModLoadControlDirArray@CvXMLLoadUtilitySetMod@@QAEX_N@Z)
1>CvXMLLoadUtilitySetMod.obj : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall CvModLoadControlInfo::getParentFolder(void)" (?getParentFolder@CvModLoadControlInfo@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "public: void __thiscall CvXMLLoadUtilitySetMod::setModLoadControlDirArray
...
1>Final_Release\CvGameCoreDLL.dll : fatal error LNK1120: 69 unresolved externals
1>NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual C++ Toolkit 2003/bin/link.exe"' : return code '0x460'
1>Stop.
1>Project : error PRJ0019: A tool returned an error code from "Performing Makefile project actions"
1>Build log was saved at "file://c:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\RevolutionDCM (mod)\CvGameCoreDLL\Final_Release\BuildLog.htm"
1>CvGameCoreDLL - 72 error(s), 0 warning(s)

It's actually quite a bit longer than that (obviously, 72 warnings) but it wouldn't all fit in the post and I imagine I don't need to post it all here. It seems like it's having trouble with the CyCityPythonInterface2, which I've seen in other threads- but I'm not exactly sure why. I did some searches to see if anyone else's come across my error but I'm not sure how related they are to this.

If anyone could give me any help or a prod in the right direction that'd be much appreciated!
 
Welcome to civfan! First, did you look to see if the changes you want can be done purely in the xml? Please see file <bts>/assets/xml/civilizations/civ4traitinfos.xml. You can find information about the fields in the modiki link off the main civfan page menu. You can grant more promotions to more unit types, change the extra yields and commerce, or many other types of changes.

In general whenever you change header files (.h) you must delete all your object files (.obj) and recompile from scratch. We can explain why, but that is most likely your problem. The makefiles are not set up to do this automatically.
 
Top Bottom