RevDCM 2.6 Compiling problem!

Voltage

Warlord
Joined
Oct 4, 2006
Messages
173
Hello, I have problem compiling revDCM 2.6

Im using CodeBlocks.
I edited a few RevDCM 2.6 source files (Added Event Images and Realistic Diplomacy)
Plan to recompile so I can play a game with a new dll file.

So i edited the source files.
Copied everything inside the source files then to a copy of Vanila Source files.
I renamed a part of the 3 Makefiles to :
Spoiler :

## BUG DLL MAKEFILE
##
## Based on Refar's makefile

### Tool Paths

TOOLKIT = C:\Program Files\Microsoft Visual C++ Toolkit 2003
PSDK = C:\Program Files\Microsoft Platform SDK

Orginally it was
Spoiler :

## BUG DLL MAKEFILE
##
## Based on Refar's makefile

### Tool Paths

TOOLKIT = C:/Program Files (x86)/Microsoft Visual C++ Toolkit 2003
PSDK = C:/Program Files/Microsoft SDKs/Windows/v6.0A



I opened RevolutionDCM.vcproj with codeblocks.
It had no build options, So i copied the build options from Final release of the vanilla BTS vcproj file.
I remove the Resource .rc file as standard method from tutorial.
Theres another folder attached to project that i have not removed. It Called "Others" containing FVariableSystem.inl, InterfaceDirtyBits.inl and readme.txt

I build and get this error straight away:
Code:
-------------- Build: Final_Release Win32 in RevolutionDCM ---------------

CvArea.cpp
c:\Users\Nathan\Documents\Nathan\Civ4\My Mod\Compiles\RevDCM\CvGameCoreDLL\CvGameCoreDLL.h(17) : fatal error C1034: windows.h: no include path set
Process terminated with status 2 (0 minutes, 0 seconds)
1 errors, 0 warnings


So i tried something else....

I copied all the files from RevDCM sources (With my changes) to BTS vanilla source file.

But this time i do not use RevolutionDCM.vcproj and use the .vcproj already in vanilla. It compiles all the way down to the very last file and gives a bunch of errors when linking library.

Code:
_precompile.cpp
Linking dynamic library: ..\Beyond the Sword\Assets\CvGameCoreDLL.dll
   Creating library ..\Beyond the Sword\Assets\CvGameCoreDLL.lib and object ..\Beyond the Sword\Assets\CvGameCoreDLL.exp
CvDLLPython.obj : error LNK2019: unresolved external symbol "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) referenced in function "void __cdecl DLLPublishToPython(void)" (?DLLPublishToPython@@YAXXZ)
CvDLLWidgetData.obj : error LNK2019: unresolved external symbol "bool __cdecl getBugOptionBOOL(char const *,bool,char const *)" (?getBugOptionBOOL@@YA_NPBD_N0@Z) referenced in function "public: void __thiscall CvDLLWidgetData::parseHealthHelp(struct CvWidgetDataStruct &,class CvWStringBuffer &)" (?parseHealthHelp@CvDLLWidgetData@@QAEXAAUCvWidgetDataStruct@@AAVCvWStringBuffer@@@Z)
CvGameTextMgr.obj : error LNK2001: unresolved external symbol "bool __cdecl getBugOptionBOOL(char const *,bool,char const *)" (?getBugOptionBOOL@@YA_NPBD_N0@Z)
CvSelectionGroup.obj : error LNK2001: unresolved external symbol "bool __cdecl getBugOptionBOOL(char const *,bool,char const *)" (?getBugOptionBOOL@@YA_NPBD_N0@Z)
CvUnit.obj : error LNK2001: unresolved external symbol "bool __cdecl getBugOptionBOOL(char const *,bool,char const *)" (?getBugOptionBOOL@@YA_NPBD_N0@Z)
CvGameTextMgr.obj : error LNK2019: unresolved external symbol "void __cdecl logMsg(char const *,...)" (?logMsg@@YAXPBDZZ) referenced in function "public: void __thiscall CvGameTextMgr::buildCityBillboardIconString(class CvWStringBuffer &,class CvCity *)" (?buildCityBillboardIconString@CvGameTextMgr@@QAEXAAVCvWStringBuffer@@PAVCvCity@@@Z)
CvGameTextMgr.obj : error LNK2019: unresolved external symbol "int __cdecl getBugOptionINT(char const *,int,char const *)" (?getBugOptionINT@@YAHPBDH0@Z) referenced in function "public: void __thiscall CvGameTextMgr::setUnitHelp(class CvWStringBuffer &,enum UnitTypes,bool,bool,bool,class CvCity *)" (?setUnitHelp@CvGameTextMgr@@QAEXAAVCvWStringBuffer@@W4UnitTypes@@_N22PAVCvCity@@@Z)
CvInfos.obj : error LNK2019: unresolved external symbol "public: void __thiscall CvXMLLoadUtilityModTools::setLocationName(class CvString *,char const *)" (?setLocationName@CvXMLLoadUtilityModTools@@QAEXPAVCvString@@PBD@Z) referenced in function "public: virtual bool __thiscall CvInfoBase::read(class CvXMLLoadUtility *)" (?read@CvInfoBase@@UAE_NPAVCvXMLLoadUtility@@@Z)
CvInfos.obj : error LNK2019: unresolved external symbol "public: void __thiscall CvXMLLoadUtilityModTools::StringArrayExtend(class CvString * *,int *,class CvString * *,int,class CvString)const " (?StringArrayExtend@CvXMLLoadUtilityModTools@@QBEXPAPAVCvString@@PAH0HV2@@Z) referenced in function "public: void __thiscall CvCivilizationInfo::copyNonDefaults(class CvCivilizationInfo *)" (?copyNonDefaults@CvCivilizationInfo@@QAEXPAV1@@Z)
CvInfos.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvXMLLoadUtilityModTools::isDuplicate(int,int *,int)const " (?isDuplicate@CvXMLLoadUtilityModTools@@QBE_NHPAHH@Z) referenced in function "public: void __thiscall CvHandicapInfo::copyNonDefaults(class CvHandicapInfo *)" (?copyNonDefaults@CvHandicapInfo@@QAEXPAV1@@Z)
CvInfos.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvXMLLoadUtilityModTools::isDuplicate(int,class CvWString *,class CvWString)const " (?isDuplicate@CvXMLLoadUtilityModTools@@QBE_NHPAVCvWString@@V2@@Z) referenced in function "public: void __thiscall CvEventTriggerInfo::copyNonDefaults(class CvEventTriggerInfo *)" (?copyNonDefaults@CvEventTriggerInfo@@QAEXPAV1@@Z)
CvXMLLoadUtilitySet.obj : error LNK2019: unresolved external symbol "public: void __thiscall CvXMLLoadUtilitySetMod::loadModControlArray(class std::vector<class CvString,class std::allocator<class CvString> > &,char const *,int)" (?loadModControlArray@CvXMLLoadUtilitySetMod@@QAEXAAV?$vector@VCvString@@V?$allocator@VCvString@@@std@@@std@@PBDH@Z) referenced in function "private: void __thiscall CvXMLLoadUtility::LoadDiplomacyInfo(class std::vector<class CvDiplomacyInfo *,class std::allocator<class CvDiplomacyInfo *> > &,char const *,char const *,char const *,class CvCacheObject * (__thiscall CvDLLUtilityIFaceBase::*)(char const *))" (?LoadDiplomacyInfo@CvXMLLoadUtility@@AAEXAAV?$vector@PAVCvDiplomacyInfo@@V?$allocator@PAVCvDiplomacyInfo@@@std@@@std@@PBD11P8CvDLLUtilityIFaceBase@@AEPAVCvCacheObject@@1@Z@Z)
CvXMLLoadUtilitySet.obj : error LNK2019: unresolved external symbol "public: class CvString __thiscall CvXMLLoadUtilityModTools::deleteFileName(char const *,char)" (?deleteFileName@CvXMLLoadUtilityModTools@@QAE?AVCvString@@PBDD@Z) referenced in function "private: void __thiscall CvXMLLoadUtility::LoadDiplomacyInfo(class std::vector<class CvDiplomacyInfo *,class std::allocator<class CvDiplomacyInfo *> > &,char const *,char const *,char const *,class CvCacheObject * (__thiscall CvDLLUtilityIFaceBase::*)(char const *))" (?LoadDiplomacyInfo@CvXMLLoadUtility@@AAEXAAV?$vector@PAVCvDiplomacyInfo@@V?$allocator@PAVCvDiplomacyInfo@@@std@@@std@@PBD11P8CvDLLUtilityIFaceBase@@AEPAVCvCacheObject@@1@Z@Z)
CvXMLLoadUtilitySet.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvXMLLoadUtilityModTools::isModularArt(char const *)" (?isModularArt@CvXMLLoadUtilityModTools@@QAE_NPBD@Z) referenced in function "private: bool __thiscall CvXMLLoadUtility::LoadModLoadControlInfo<class CvModLoadControlInfo>(class std::vector<class CvModLoadControlInfo *,class std::allocator<class CvModLoadControlInfo *> > &,char const *,char const *)" (??$LoadModLoadControlInfo@VCvModLoadControlInfo@@@CvXMLLoadUtility@@AAE_NAAV?$vector@PAVCvModLoadControlInfo@@V?$allocator@PAVCvModLoadControlInfo@@@std@@@std@@PBD1@Z)
CvXMLLoadUtilitySet.obj : error LNK2019: unresolved external symbol "public: void __thiscall CvXMLLoadUtilitySetMod::setModLoadControlDirArray(bool)" (?setModLoadControlDirArray@CvXMLLoadUtilitySetMod@@QAEX_N@Z) referenced in function "private: void __thiscall CvXMLLoadUtility::ModularLoadingControlXML(void)" (?ModularLoadingControlXML@CvXMLLoadUtility@@AAEXXZ)
..\Beyond the Sword\Assets\CvGameCoreDLL.dll : fatal error LNK1120: 12 unresolved externals
Process terminated with status 1120 (19 minutes, 33 seconds)
16 errors, 0 warnings



Im Demoralised... Please someone cast a glimmer of hope in my direction...
 
The first one is because you somehow failed to point it in the direction of the pSDK. Codeblocks doesn't really need a makefile IIRC, so go to Kael's tutorial and follow it, to the letter.
 
Don't use codeblocks. Use refar's guide found here:
http://forums.civfanatics.com/downloads.php?do=file&id=10018|

You will use the RevDCM makefile, and not Refar's obviously. Also like it says in Refar's guide, you need to delete all the files that aren't source files, like the .vcproj and .rc files.
 
I am also having a compiling problem with RevDCM 2.6 and was hoping someone could offer a suggestion. I am using Visual C++ 2005 Express Edition and I am simply trying to add some new tags to be used for traits. I am modifying only CvInfos.cpp and CvInfos.h. I had no problems with this code added to RevDCM 2.5. I can compile the .DLL successfully, but when I put it in a clean RevDCM 2.6 folder and start the game, I get messages upon initialization that BONUS_GOODY_HUT cannot be found in HandicapInfos.XML and BONUS_STONE cannot be found in CorporationsInfoS.XML and then it crashes. I have made no changes to either HandicapInfos.xml or CorporationInfos.xml.

I am receiving an error message upon compiling (in the spoiler below); maybe this has something to do with my problem?

Any help would be greatly appreciated!

Cheers,
ripple01

Spoiler :
del Final_Release\CvGameCoreDLL.dll Final_Release/_precompile.obj Final_Release/CvArea.obj Final_Release/CvArtFileMgr.obj Final_Release/CvBugOptions.obj Final_Release/CvCity.obj Final_Release/CvCityAI.obj Final_Release/CvDLLButtonPopup.obj Final_Release/CvDLLEntity.obj Final_Release/CvDLLPython.obj Final_Release/CvDLLWidgetData.obj Final_Release/CvDeal.obj Final_Release/CvDiploParameters.obj Final_Release/CvDllPythonEvents.obj Final_Release/CvDllTranslator.obj Final_Release/CvEventReporter.obj Final_Release/CvFractal.obj Final_Release/CvGame.obj Final_Release/CvGameAI.obj Final_Release/CvGameCoreDLL.obj Final_Release/CvGameCoreUtils.obj Final_Release/CvGameInterface.obj Final_Release/CvGameTextMgr.obj Final_Release/CvGlobals.obj Final_Release/CvHallOfFameInfo.obj Final_Release/CvInfoWater.obj Final_Release/CvInfos.obj Final_Release/CvInitCore.obj Final_Release/CvMap.obj Final_Release/CvMapGenerator.obj Final_Release/CvMessageControl.obj Final_Release/CvMessageData.obj Final_Release/CvPlayer.obj Final_Release/CvPlayerAI.obj Final_Release/CvPlot.obj Final_Release/CvPlotGroup.obj Final_Release/CvPopupInfo.obj Final_Release/CvPopupReturn.obj Final_Release/CvRandom.obj Final_Release/CvReplayInfo.obj Final_Release/CvReplayMessage.obj Final_Release/CvSelectionGroup.obj Final_Release/CvSelectionGroupAI.obj Final_Release/CvStatistics.obj Final_Release/CvStructs.obj Final_Release/CvTalkingHeadMessage.obj Final_Release/CvTeam.obj Final_Release/CvTeamAI.obj Final_Release/CvUnit.obj Final_Release/CvUnitAI.obj Final_Release/CvXMLLoadUtility.obj Final_Release/CvXMLLoadUtilityGet.obj Final_Release/CvXMLLoadUtilityInit.obj Final_Release/CvXMLLoadUtilitySet.obj Final_Release/CyArea.obj Final_Release/CyAreaInterface.obj Final_Release/CyArgsList.obj Final_Release/CyArtFileMgr.obj Final_Release/CyArtFileMgrInterface.obj Final_Release/CyCity.obj Final_Release/CyCityInterface1.obj Final_Release/CyCityInterface2.obj Final_Release/CyDeal.obj Final_Release/CyEnumsInterface.obj Final_Release/CyGame.obj Final_Release/CyGameCoreUtils.obj Final_Release/CyGameCoreUtilsInterface.obj Final_Release/CyGameInterface.obj Final_Release/CyGameTextMgr.obj Final_Release/CyGameTextMgrInterface.obj Final_Release/CyGlobalContext.obj Final_Release/CyGlobalContextInterface1.obj Final_Release/CyGlobalContextInterface2.obj Final_Release/CyGlobalContextInterface3.obj Final_Release/CyGlobalContextInterface4.obj Final_Release/CyHallOfFameInfo.obj Final_Release/CyHallOfFameInterface.obj Final_Release/CyInfoInterface1.obj Final_Release/CyInfoInterface2.obj Final_Release/CyInfoInterface3.obj Final_Release/CyMap.obj Final_Release/CyMapGenerator.obj Final_Release/CyMapGeneratorInterface.obj Final_Release/CyMapInterface.obj Final_Release/CyMessageControl.obj Final_Release/CyMessageControlInterface.obj Final_Release/CyPlayer.obj Final_Release/CyPlayerInterface1.obj Final_Release/CyPlayerInterface2.obj Final_Release/CyPlot.obj Final_Release/CyPlotInterface1.obj Final_Release/CyRandomInterface.obj Final_Release/CyReplayInfo.obj Final_Release/CySelectionGroup.obj Final_Release/CySelectionGroupInterface.obj Final_Release/CyStructsInterface1.obj Final_Release/CyTeam.obj Final_Release/CyTeamInterface.obj Final_Release/CyUnit.obj Final_Release/CyUnitInterface1.obj Final_Release/CvXMLLoadUtilityModTools.obj Final_Release/CvXMLLoadUtilitySetMod.obj Final_Release/FAssert.obj Final_Release/FDialogTemplate.obj Final_Release\CvGameCoreDLL.lib Final_Release\CvGameCoreDLL.def Final_Release\CvGameCoreDLL.exp Final_Release\CvGameCoreDLL.pdb
1>Invalid switch - "_precompile.obj".
1>NMAKE : fatal error U1077: 'del' : return code '0x1'
1>Stop.
1>Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
1>Copyright (C) Microsoft Corporation. All rights reserved.
1> "C:/Program Files (x86)/Microsoft Visual C++ Toolkit 2003/bin/link.exe" /dll /nologo /LIBPATH:Python24/libs /LIBPATH:boost-1.32.0/libs/ /LIBPATH:"C:/Program Files (x86)/Microsoft Visual C++ Toolkit 2003/lib" /LIBPATH:"C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Lib" /out:Final_Release\CvGameCoreDLL.dll boost_python-vc71-mt-1_32.lib winmm.lib user32.lib Final_Release/_precompile.obj Final_Release/CvArea.obj Final_Release/CvArtFileMgr.obj Final_Release/CvBugOptions.obj Final_Release/CvCity.obj Final_Release/CvCityAI.obj Final_Release/CvDLLButtonPopup.obj Final_Release/CvDLLEntity.obj Final_Release/CvDLLPython.obj Final_Release/CvDLLWidgetData.obj Final_Release/CvDeal.obj Final_Release/CvDiploParameters.obj Final_Release/CvDllPythonEvents.obj Final_Release/CvDllTranslator.obj Final_Release/CvEventReporter.obj Final_Release/CvFractal.obj Final_Release/CvGame.obj Final_Release/CvGameAI.obj Final_Release/CvGameCoreDLL.obj Final_Release/CvGameCoreUtils.obj Final_Release/CvGameInterface.obj Final_Release/CvGameTextMgr.obj Final_Release/CvGlobals.obj Final_Release/CvHallOfFameInfo.obj Final_Release/CvInfoWater.obj Final_Release/CvInfos.obj Final_Release/CvInitCore.obj Final_Release/CvMap.obj Final_Release/CvMapGenerator.obj Final_Release/CvMessageControl.obj Final_Release/CvMessageData.obj Final_Release/CvPlayer.obj Final_Release/CvPlayerAI.obj Final_Release/CvPlot.obj Final_Release/CvPlotGroup.obj Final_Release/CvPopupInfo.obj Final_Release/CvPopupReturn.obj Final_Release/CvRandom.obj Final_Release/CvReplayInfo.obj Final_Release/CvReplayMessage.obj Final_Release/CvSelectionGroup.obj Final_Release/CvSelectionGroupAI.obj Final_Release/CvStatistics.obj Final_Release/CvStructs.obj Final_Release/CvTalkingHeadMessage.obj Final_Release/CvTeam.obj Final_Release/CvTeamAI.obj Final_Release/CvUnit.obj Final_Release/CvUnitAI.obj Final_Release/CvXMLLoadUtility.obj Final_Release/CvXMLLoadUtilityGet.obj Final_Release/CvXMLLoadUtilityInit.obj Final_Release/CvXMLLoadUtilitySet.obj Final_Release/CyArea.obj Final_Release/CyAreaInterface.obj Final_Release/CyArgsList.obj Final_Release/CyArtFileMgr.obj Final_Release/CyArtFileMgrInterface.obj Final_Release/CyCity.obj Final_Release/CyCityInterface1.obj Final_Release/CyCityInterface2.obj Final_Release/CyDeal.obj Final_Release/CyEnumsInterface.obj Final_Release/CyGame.obj Final_Release/CyGameCoreUtils.obj Final_Release/CyGameCoreUtilsInterface.obj Final_Release/CyGameInterface.obj Final_Release/CyGameTextMgr.obj Final_Release/CyGameTextMgrInterface.obj Final_Release/CyGlobalContext.obj Final_Release/CyGlobalContextInterface1.obj Final_Release/CyGlobalContextInterface2.obj Final_Release/CyGlobalContextInterface3.obj Final_Release/CyGlobalContextInterface4.obj Final_Release/CyHallOfFameInfo.obj Final_Release/CyHallOfFameInterface.obj Final_Release/CyInfoInterface1.obj Final_Release/CyInfoInterface2.obj Final_Release/CyInfoInterface3.obj Final_Release/CyMap.obj Final_Release/CyMapGenerator.obj Final_Release/CyMapGeneratorInterface.obj Final_Release/CyMapInterface.obj Final_Release/CyMessageControl.obj Final_Release/CyMessageControlInterface.obj Final_Release/CyPlayer.obj Final_Release/CyPlayerInterface1.obj Final_Release/CyPlayerInterface2.obj Final_Release/CyPlot.obj Final_Release/CyPlotInterface1.obj Final_Release/CyRandomInterface.obj Final_Release/CyReplayInfo.obj Final_Release/CySelectionGroup.obj Final_Release/CySelectionGroupInterface.obj Final_Release/CyStructsInterface1.obj Final_Release/CyTeam.obj Final_Release/CyTeamInterface.obj Final_Release/CyUnit.obj Final_Release/CyUnitInterface1.obj Final_Release/CvXMLLoadUtilityModTools.obj Final_Release/CvXMLLoadUtilitySetMod.obj Final_Release/FAssert.obj Final_Release/FDialogTemplate.obj /debug /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF
1> Creating library Final_Release\CvGameCoreDLL.lib and object Final_Release\CvGameCoreDLL.exp
1>The system cannot find the path specified.
1> 0 file(s) copied.
1>Build log was saved at "file://c:\Users\Jason & Christina\CivFusion\CivFusion 0.75 Final SDK\Release\BuildLog.htm"
1>RevolutionDCM - 1 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
 
It looks like you have two non-fatal errors.

First, the "del" call is interpreting the _precompile.obj file as a command-line switch instead of a file. I have no idea why. You can just manually delete the .obj files if you want to perform the clean action.

Second, the "copy" command is pointing to the wrong path for BTS. It seems it's building a DLL just fine, but then it cannot copy it into your Assets folder because it has the wrong path. This path is set in the makefile; search for "copy".
 
Back
Top Bottom