Somehow, your header files all have the options to compile and link them enabled. Disable this by right-clicking each .h file in Code::Blocks, selecting Properties, selecting the Build tab, and unchecking the "Compile file" and "Link file" boxes.
I'll try to explain the reason for the error Code::Blocks is giving you: Currently, C::B interprets a header file with the "Compile file" option enabled as a header that should be precompiled, for faster inclusion in multiple source files. This is why you see all of the "Precompiling header: ..." lines. Then, since the files also have the "Link file" option enabled, the resulting precompiled-header file is passed to the linker, which is not designed to use it; thus the final "File format not recognized" error.
Appropriate use of precompiled headers is a good thing for large projects that include a certain set of headers in many different source files. Suffice it to say that the use of precompiled headers is not necessary, and your project is not set up for it, so I won't elaborate any further.
I also note that your batch file uses the simpler (traditional beginner's) method of compiling straight to an executable from the source code, without an intermediate object-code step. There is nothing wrong with this, but since it obscures the multi-phase (preprocess, compile, assemble, link) nature of modern C/C++ compilers you may not be familiar with what "linking object files" means. Code::Blocks (and other IDEs) split the compilation process into "compile" (which includes preprocessing and assembling) and "link" phases in order to avoid recompiling source files that have not changed since the last build. This is the standard method for building large programs, and works just as well for small ones.
Cheers,
John E. / TDM
Addendum: There have been several further posts during the time I was composing mine. CString.cpp needs the "Compile file" and "Link file" options checked, as do your other .cpp files. CString.h (and your other headers) need them unchecked.