Installing and using the SDK

I get this error when I try to debug! Can anyone please give me a hint to what this means? My problem is that I have modded the game extremely much, but the game crashes, and I takes to long to recompile every time to check out why it does it... It should function 100% theoretically... :sad: :mad: :cry: :confused:
 

Attachments

  • error.JPG
    error.JPG
    12.1 KB · Views: 287
NikG said:
I get this error when I try to debug! Can anyone please give me a hint to what this means? My problem is that I have modded the game extremely much, but the game crashes, and I takes to long to recompile every time to check out why it does it... It should function 100% theoretically... :sad: :mad: :cry: :confused:

I think your debug mode is turned off. Also, your sig is too long (8 lines - should be 5)
 
@NikG

Check that your debugger service is running.

start -> run dialog -> enter "services.msc" -> look for "machine debugger manager" -> make sure it's started if not, start it, if it's started try restart.
 
I am seeing since I downloaded already the Visual Studio 2005 Express free version why that can not be used.

In the Options-> Project & Solutions -> VC+ Directories are the various files for the Environment Settings. Instead of using the Default Paths set up by the program, one would have to download that April SDK listed in the first post, and put the PATH to those directories above the Default Paths. Then, the program would use the files in the April 2005 Platform SDK files, instead of the ones it puts in by Default.

That is done with Direct X, so the files are found first, instead of maybe using the Direct X version that came with some programming IDE's. It use to be Direct X 5 version or something, so with the Direct X SDK, you PATH to the newer version of Direct X SDK by adding those lines above the Default Paths.

Works in Direct X for me, so why would not the older Platform SDK work also for that, so the Build comes out for 7.1 Version files like needed which would be compatible with the way the CIV IV game was written anyway.

If one looks at the newer Platform SDK's Microsoft changed those probably again since they put more ISO standards in them, but that is not what anyone wants, and the April 2005 Platform SDK works for both versions of Visual Studio.NET (2003 or 2005). But first, one has to add the correct PATH to find the files that will compile it into what the game needs.

Of course, I don't know if Visual Studio 2005 Express stamps Version 8.0 on any files, but if the game is not looking for it, then the Build of the Compiler probably still will work and be a 7.1 version file.

I know it will not work with Visual Studio.NET 2002, since the files show that they are Version 7.1.

VisualStudio.NET 2002 -> Version 7.0
VisualStudio.NET 2003 -> Version 7.1 -> this Build from the Compiler is needed.
VisualStudio.NET 2005 -> Version 8.0 -> unless using the older Platform SDK and using the files in that April 2005 version means that it still would Build with the Compiler for it -- correctly for the game not to have Errors when starting it up or running the game.

Add the PATHS lines to the VC+Directories part of the Options-> Projects & Solutions and perhaps that will work, if the lines are first in the list.

Also underneath that is the next category, where Validate Schemas is listed, but I am not sure what that is. Either it is On or Off, or True of False. Perhaps that may have something to do with the Version # used in files, perhaps, and again, perhaps not. I really do not know for sure.
 
@Raion

It was basicly that I did and it failed fatally, look at post #97

It is because VC++ 2005's compiler is incompatible with VC++ 2003's libraries, it seems that the exception handling is different.
 
Oh, okay. Leave it to Microsoft to make the compiler different.

I scratched all of this previous post just in case anyone read it.

Now for what happens with Visual C++ 2005 Express when loading up the .vcproj file for the game.

It makes a new Project file which is 5kb bigger in size. Askes about Source Control Plug In, in which case I do not change and the difference between VS2003 and the 2005 Express program will be this:

Welcome to the Visual Studio Conversion Wizard

The solution or project you are opening was created in a previous version of Visual Studio. It must be converted to the format used by this version. After a solution or any of its projects has been converted, it can no longer be edited, built, or run in previous versions.

If the solution or project is under source control, it will be checked out automatically during the conversion. Be sure the correct Source Control Plug In is active, and no files are exclusively checked out by other users. (may need Source Control Plug In from somewhere -- note by me, not by program as rest of it.)

Click Next to proceed.

Next screen:

Do you want to create a backup before converting?
No
Yes, create a backup before converting
Choosing this option will create a backup file next to each converted file.

Warning:
The source control provider associated with this solution could not be found. The projects will be treated as not under source control.

Do you want to permanently remove the source control bindings from the projects?
Yes
No

Duh, well NO! -- my comment and not the program.


Time of Conversion: Thursday, May 11, 2006 16:38:34 PM
Project: CvGameCoreDLL
Filename Status Errors Warnings
javascript:javascript:CvGameCoreDLL.vcproj Not Converted 2 3
Conversion Issues - CvGameCoreDLL.vcproj:
Visual C++ now supports a secure version of the C Runtime Library. Use of this library is turned on by default. You may see some warnings about deprecated functions when you build your project. It is advised that you correct these warnings, in order to make your code more secure.
The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.
Due to a change in the exception handling switches for the C/C++ Compiler, /EHsc has been automatically converted to /EHa in this project.
Project file successfully backed up as 'K:\Sid Meier's Civilization 4\SDK\CvGameCoreDLL_v161\CvGameCoreDLL\CvGameCoreDLL.vcproj.7.10.old'.
The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.
Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.
Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).
Failed to upgrade project file 'K:\Sid Meier's Civilization 4\SDK\CvGameCoreDLL_v161\CvGameCoreDLL\CvGameCoreDLL.vcproj'. Please make sure the file exists and is not write-protected.
Project upgrade failed.
1 file Converted: 0
Not converted 1 2 3

Conversion Settings
Solution File: K:\Sid Meier's Civilization 4\SDK\CvGameCoreDLL_v161\CvGameCoreDLL\CvGameCoreDLL.sln



If the solution or project is under source control, it will be checked out automatically during the conversion. Be sure the correct Source Control Plug In is active, and no files are exclusively checked out by other users.

Conversion type: In-place with side by side backup.


Solution to be converted: CvGameCoreDLL
Projects:
CvGameCoreDLL

All projects converted successfully with some warnings. Please see the conversion log for complete information.

Time of Conversion: Thursday, May 11, 2006 16:46:29 PM
Project: CvGameCoreDLL
Filename Status Errors Warnings
javascript:javascript:CvGameCoreDLL.vcproj Converted 0 3
Conversion Issues - CvGameCoreDLL.vcproj:
Visual C++ now supports a secure version of the C Runtime Library. Use of this library is turned on by default. You may see some warnings about deprecated functions when you build your project. It is advised that you correct these warnings, in order to make your code more secure.
The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.
Due to a change in the exception handling switches for the C/C++ Compiler, /EHsc has been automatically converted to /EHa in this project.
Project file successfully backed up as 'K:\Sid Meier's Civilization 4\SDK\CvGameCoreDLL_v161\CvGameCoreDLL\CvGameCoreDLL.vcproj.7.10.old'.
Project upgraded successfully.
The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.
Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.
Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).
1 file Converted: 1
Not converted 0 0 3

Conversion Settings
Solution File: K:\Sid Meier's Civilization 4\SDK\CvGameCoreDLL_v161\CvGameCoreDLL\CvGameCoreDLL.sln
Log Number: 2

-----------------------------
Back to just using the Toolkit for VS 2003, and the Source Control Plug In, I do not know about, but since that metafile is there included with the project I just leave well alone.

Unless someone knows a lot about the differences, I guess Visual C++ 2005 Express I am not going to mess around with, to change anything in the Civ IV Game, and the Toolkit will be the only way it seems to go with the game.

Post edited to exclude anything about the compiler used with Visual C++ 2005 Express, as previously written.
 
I have found no way to entice VC++2005 to build a DLL that Civ can use.

I have set up Code::Blocks and am currently attempting to get past the fatal error LNK1181: cannot open input file 'C:\Program Files\Microsoft Visual C++ Toolkit 2003\Lib.obj'

I have followed all the instructions. Still no help.

I will keep working on it.
 
:old: :rotfl: :yup:

The Lib.obj!

I knew it was something stupid!

In Code::Blocks, when you click on Settings ->Compiler and open the Compiler_Settings window, there is a

First Tab named Linker:
Do NOT put: :nono:
C:\Program... ...\lib :nope:
in THIS Linker Tab! :nono:

Go into:
Tab named Directories
There you will find a:

Second Tab named Linker UNDER Tab named Directories
PUT HERE: :yup:
C:\Program... ...\lib :clap:
C:\Program... ...\lib :thumbsup:

The first Linker Tab is for specific libraries you might want to link to if you don't want everything in a whole directory!
 
I'm getting an input file error, perhaps somebody could help... I'm using CodeBlocks and MS VisualC++ Toolkit, all according to the instructions on page 1.

Here's the build log for my last attempt:

Build Log
Project : CvGameCoreDLL
Compiler : Microsoft Visual C++ Toolkit 2003 (called directly)
Directory : C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\CvGameCoreDLL_v161\CvGameCoreDLL\
--------------------------------------------------------------------------------
Switching to target: Final Release
CvArea.cpp
CvArtFileMgr.cpp
CvCity.cpp
CvCityAI.cpp
CvDLLButtonPopup.cpp
CvDLLEntity.cpp
CvDLLPython.cpp
CvDLLWidgetData.cpp
CvDeal.cpp
CvDiploParameters.cpp
CvFractal.cpp
CvGame.cpp
CvGameAI.cpp
CvGameCoreDLL.cpp
CvGameCoreUtils.cpp
CvGameTextMgr.cpp
CvGlobals.cpp
CvHallOfFameInfo.cpp
CvInfoWater.cpp
CvInfos.cpp
CvInitCore.cpp
CvMap.cpp
CvMapGenerator.cpp
CvPlayer.cpp
CvPlayerAI.cpp
CvPlot.cpp
CvPlotGroup.cpp
CvPopupInfo.cpp
CvPopupReturn.cpp
CvRandom.cpp
CvReplayInfo.cpp
CvReplayMessage.cpp
CvSelectionGroup.cpp
CvSelectionGroupAI.cpp
CvStructs.cpp
CvTalkingHeadMessage.cpp
CvTeam.cpp
CvTeamAI.cpp
CvUnit.cpp
CvUnitAI.cpp
CvXMLLoadUtility.cpp
CvXMLLoadUtilityGet.cpp
CvXMLLoadUtilityInit.cpp
CvXMLLoadUtilitySet.cpp
CyArea.cpp
CyAreaInterface.cpp
CyArgsList.cpp
CyArtFileMgr.cpp
CyArtFileMgrInterface.cpp
CyCity.cpp
CyCityInterface1.cpp
CyDeal.cpp
CyEnumsInterface.cpp
CyGame.cpp
CyGameCoreUtils.cpp
CyGameCoreUtilsInterface.cpp
CyGameInterface.cpp
CyGameTextMgr.cpp
CyGameTextMgrInterface.cpp
CyGlobalContext.cpp
CyGlobalContextInterface1.cpp
CyGlobalContextInterface2.cpp
CyGlobalContextInterface3.cpp
CyGlobalContextInterface4.cpp
CyHallOfFameInfo.cpp
CyHallOfFameInterface.cpp
CyInfoInterface1.cpp
CyInfoInterface2.cpp
CyInfoInterface3.cpp
CyMap.cpp
CyMapGenerator.cpp
CyMapGeneratorInterface.cpp
CyMapInterface.cpp
CyPlayer.cpp
CyPlayerInterface1.cpp
CyPlot.cpp
CyPlotInterface1.cpp
CyRandomInterface.cpp
CyReplayInfo.cpp
CySelectionGroup.cpp
CySelectionGroupInterface.cpp
CyStructsInterface1.cpp
CyTeam.cpp
CyTeamInterface.cpp
CyUnit.cpp
CyUnitInterface1.cpp
FAssert.cpp
FDialogTemplate.cpp
_precompile.cpp
Linking dynamic library: ..\Assets\CvGameCoreDLL.dll
LINK : fatal error LNK1181: cannot open input file 'Release\CvGameCoreDLL.pdb'
Process terminated with status 1 (14 minutes, 43 seconds)
1 errors, 0 warnings
 
I just followed all of the steps on Post 1 and built my own DLL file with no errors and no warnings.

However, I noticed that the 161 version of CvGameCoreDLL.dll file is 3,620 kb (dated Mar 30, 2006), while the one I built - straight from the SDK download - is of size 4,780kb.

Has anyone else noticed this difference in file size?

I moved my DLL into my mod's Assets folder and renamed the Civ4 vanilla DLL as "Original 161 CvGameCoreDLL.dll" and the game runs fine.

Thanks Kael for starting and developing this thread :goodjob:

Spocko
 
Spocko said:
I just followed all of the steps on Post 1 and built my own DLL file with no errors and no warnings.

However, I noticed that the 161 version of CvGameCoreDLL.dll file is 3,620 kb (dated Mar 30, 2006), while the one I built - straight from the SDK download - is of size 4,780kb.

Has anyone else noticed this difference in file size?

I moved my DLL into my mod's Assets folder and renamed the Civ4 vanilla DLL as "Original 161 CvGameCoreDLL.dll" and the game runs fine.

Thanks Kael for starting and developing this thread :goodjob:

Spocko

I dont know why it is, but I noticed the same thing.
 
Yeah, if you compile with VC 2003, it seem to give a smaller dll for some reason. Presumably some compiler flag is triggered then but isn't imported by Code::Blocks. Anyone with VC2003 want to give a list of their compiler and linking flags?
 
Here are my compiler/linking flags for Visual Studio 2003 (for the Final_Release Configuration).
These give a DLL that is exactly the same size as that shipped by Firaxis.

Compiler:
/O2 /G7 /I "Boost-1.32.0\include" /I "Python24\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "CVGAMECOREDLL_EXPORTS" /D "FINAL_RELEASE" /D "_WINDLL" /D "_MBCS" /FD /EHsc /MD /GR /Yu"CvGameCoreDLL.h" /Fp"Final Release/CvGameCoreDLL.pch" /Fo"Final Release/" /Fd"Final Release/vc70.pdb" /W3 /nologo /c /Zi /Gd /TP

Linker:
/OUT:"../Assets/CvGameCoreDLL.dll" /INCREMENTAL:NO /NOLOGO /LIBPATH:"Python24\libs" /LIBPATH:"boost-1.32.0\libs\\" /DLL /DEBUG /PDB:"Final Release/CvGameCoreDLL.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /IMPLIB:"Final Release/CvGameCoreDLL.lib" /MACHINE:X86 boost_python-vc71-mt-1_32.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ".\Boost-1.32.0\libs\boost_python-vc71-mt-1_32.lib"
 
Ah, these ops did it: "/SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF"
 
i am having trouble getting the platform sdk to work it keeps popping up this msiexec.exe it encoutnered a problem and needs to close if anyone can help me get this thing running i be a happy camper over here
 
Back
Top Bottom