SDK Discussion/Question/Help/Tip Thread

It's indeed possible to force the loading of dll's, for instance we could use one text file in which the names of the dll's to be loaded is written, and load that from CvGameCore. The initialisation of the loaded dll's could do some work, but the problem is that it wouldn't replace or modify existing code, so I don't know if this can work.
 
SimCutie said:
I successfully build RELEASE built and run it. No problem.
And I can successfully build DEBUG build but can not run it.
It generates few assert errors in Civilization.exe like...
"ASSERT failure in File dbgdel.cpp Line 52"
"Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse...)"
This is error from C runtime library (CRT library) ( "Vc7/crt/src/dbgdel.cpp" )
Other subsequent assert failure is all from similar CRT memory library.
Ignoring the assert failure or retray to call up Debugger won't help.
This is caused because Civilization.exe binary is not debug build.
So it does not init and use proper memory routine from debug CRT (MSVCRTD.DLL).
How can I run Civ4.exe with debug-build CvGameCoreDLL.dll load and linked?
Or how to prevent using Debug CRTLIB memory check on DEBUG build?
Has anyone built custom special MSVCRTD.DLL without/dummy memory checking?

Any one succeded in it?

I have this exact same error.

dsplaisted said:
Try this (I assume you're using VC++ 2003):

Go to the project properties, C++ Folder, Code Generation Page. Change the Runtime library from Multi-threaded Debug DLL to Multi-threaded DLL.

I think this might help. I can't test it now though. Please let me know if it works or not.

Thanks,
Daniel

I am already using the Multi-threaded DLL, so this is not the fix.

Anyone else have any ideas?

SimCutie, did you fix this?

-Iustus
 
One fix, perhaps this is the only one that works, is to turn off the _DEBUG #define:

project->properties: C/C++: Preprocessor: Preprocessor Definitions:

change _DEBUG to NDEBUG (that is change the underscore to a N)

this fixes the error. It does not let you build with the DEBUG define though, which may be kindof missing the point. Anyone know how to get it to work with the debug defined?

-Iustus
 
Back
Top Bottom