|
Are these linking errors? semantic errors? syntax errors?
If it's syntactic, then it's possible some small aspect of the language changed (rare but possible). Things such as variable declaration scopes have changed over the years due to changes to the ANSI C++ specification.
If the errors are complaining about casting problems though, then its possible that it could be a Unicode/ASCII character format problem.
Windows XP/2000/NT use Unicode character sets natively while Windows 95/98/ME use ASCII (and multi-byte for when you need larger character ranges) character formats. Windows XP can run applications that assume the ASCII character format however (as evident by the fact that you can run older applications on it) but the inclusion of Unicode makes things more complicated, since you have to make sure you are careful what you link to. Often when you link to certain libraries/dlls or use certain APIs, the libraries you use expect a certain character format. If it manages to compile, you can get some funny results (even crashes) since
1.) A Library may potentially think that an ASCII string uses Unicode, thus interpreting everything as junk.
2.) A library may potentially think that a Unicode string uses ASCII, thus causing the parsing of that string to end after the first character.
These types of problems are especially prevalent when you have COM interfaces and are using BSTRs to pass data between interface methods.
Regardless, the compiler will usually catch may of these errors and will complain that there is no correct conversion between two types of strings.
If your really lucky your compiler will be smart enough and will automatically link to the right object file or dll (ex. MFC71U.dll or MFC71.dll (for ASCII) in Visual Studio). This usually requires specifying the character format to the compiler/linker however. Usually this is just a trivial operation since it can be done by most IDEs by changing a few project options, but it may not be true with Dev-C++ (since I don't use it).
If this isn't it however and your errors are linking errors, then you'll need to use something like Dependency Walker to figure out what is linking to. Determine if the files are on your system and then go from there. |