LPlate2
Warlord
- Joined
- Dec 27, 2018
- Messages
- 296
Hi,
I'm trying to create my first structure in the SDK.
The basic intent is to allow Improvement yields to be changed, depending on the Civilization.
I updated the CIV4TerrainSchema.xml and CIV4ImprovementInfo.xml. My edits were based on the <BonusTypeStructs> structure, which is already used in CIV4ImprovementInfo.xml but there was no need for the equivalent of; <bBonusMakesValid>, <bBonusTrade> & <iDiscoverRand>.
This bit worked fine. Mod could still load up and start.
I then proceeded to modify the cpp and h files, specifically; CvInfos.h, CvInfos.cpp, CvXMLLoadUtility.h and CvXMLLoadUtilitySet.cpp.
Again, I was basing my edits around the BonusTypeStructs, so I searched for ImprovementBonus and edited in similar lines based around a Civilization instead of a Bonus.
The build failed with the following at the end of the Output
1> Linking DLL
1>CvInfos.obj : error LNK2019: unresolved external symbol "public: void __thiscall CvXMLLoadUtility::InitImprovementCivList(class CvImprovementCivInfo * *,int)" (?InitImprovementCivList@CvXMLLoadUtility@@QAEXPAPAVCvImprovementCivInfo@@H@Z) referenced in function "public: virtual bool __thiscall CvImprovementInfo::read(class CvXMLLoadUtility *)" (?read@CvImprovementInfo@@UAE_NPAVCvXMLLoadUtility@@@Z)
1>CvXMLLoadUtilitySet.obj : error LNK2001: unresolved external symbol "public: void __thiscall CvXMLLoadUtility::InitImprovementCivList(class CvImprovementCivInfo * *,int)" (?InitImprovementCivList@CvXMLLoadUtility@@QAEXPAPAVCvImprovementCivInfo@@H@Z)
1>temp_files\Debug\CvGameCoreDLL.dll : fatal error LNK1120: 1 unresolved externals
1>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003\bin\link.exe"' : return code '0x460'
1> Stop.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command "set TARGET=Debug
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: nmake source_list /NOLOGO
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: nmake fastdep /NOLOGO
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: nmake dll /NOLOGO" exited with code 2.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Can someone provide a quick translation of the error message and point me in the direction of what i need to fix?
Edit: Issue partially resolved. I had to edit
CvXMLLoadUtilityInit.cpp also. It now compiles successfully but I'm getting an assert error regarding iListLen, when I load the module. I'm assuming this is pointing to an xml error rather than DLL.
thanks
I'm trying to create my first structure in the SDK.
The basic intent is to allow Improvement yields to be changed, depending on the Civilization.
I updated the CIV4TerrainSchema.xml and CIV4ImprovementInfo.xml. My edits were based on the <BonusTypeStructs> structure, which is already used in CIV4ImprovementInfo.xml but there was no need for the equivalent of; <bBonusMakesValid>, <bBonusTrade> & <iDiscoverRand>.
This bit worked fine. Mod could still load up and start.
I then proceeded to modify the cpp and h files, specifically; CvInfos.h, CvInfos.cpp, CvXMLLoadUtility.h and CvXMLLoadUtilitySet.cpp.
Again, I was basing my edits around the BonusTypeStructs, so I searched for ImprovementBonus and edited in similar lines based around a Civilization instead of a Bonus.
The build failed with the following at the end of the Output
Spoiler :
1> Linking DLL
1>CvInfos.obj : error LNK2019: unresolved external symbol "public: void __thiscall CvXMLLoadUtility::InitImprovementCivList(class CvImprovementCivInfo * *,int)" (?InitImprovementCivList@CvXMLLoadUtility@@QAEXPAPAVCvImprovementCivInfo@@H@Z) referenced in function "public: virtual bool __thiscall CvImprovementInfo::read(class CvXMLLoadUtility *)" (?read@CvImprovementInfo@@UAE_NPAVCvXMLLoadUtility@@@Z)
1>CvXMLLoadUtilitySet.obj : error LNK2001: unresolved external symbol "public: void __thiscall CvXMLLoadUtility::InitImprovementCivList(class CvImprovementCivInfo * *,int)" (?InitImprovementCivList@CvXMLLoadUtility@@QAEXPAPAVCvImprovementCivInfo@@H@Z)
1>temp_files\Debug\CvGameCoreDLL.dll : fatal error LNK1120: 1 unresolved externals
1>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003\bin\link.exe"' : return code '0x460'
1> Stop.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command "set TARGET=Debug
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: nmake source_list /NOLOGO
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: nmake fastdep /NOLOGO
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: nmake dll /NOLOGO" exited with code 2.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Can someone provide a quick translation of the error message and point me in the direction of what i need to fix?
Edit: Issue partially resolved. I had to edit
CvXMLLoadUtilityInit.cpp also. It now compiles successfully but I'm getting an assert error regarding iListLen, when I load the module. I'm assuming this is pointing to an xml error rather than DLL.
thanks
Last edited: