From 3aaa12c7d709d05286255d191998f29105dd407a Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Tue, 2 Oct 2018 10:23:30 -0400 Subject: [PATCH] Fix dependencies in VS projects. --- .gitignore | 7 ------- mmd.c | 28 ++++++++++++++++++++++++++++ vcnet/config.h | 2 +- vcnet/mxml1.vcxproj | 16 ++++++++-------- vcnet/mxmldoc.vcxproj | 21 +++++++++++++-------- vcnet/testmxml.vcxproj | 21 +++++++++++++-------- 6 files changed, 63 insertions(+), 32 deletions(-) diff --git a/.gitignore b/.gitignore index 8275645..df972f2 100644 --- a/.gitignore +++ b/.gitignore @@ -29,13 +29,6 @@ test1.xml vcnet/.vs vcnet/Debug vcnet/Release -vcnet/mxml1.dll -vcnet/mxml1.exp -vcnet/mxml1.ilk -vcnet/mxml1.lib -vcnet/mxmldoc.exe -vcnet/mxmlstat.lib vcnet/packages -vcnet/testmxml.exe xcode/mxml.xcodeproj/project.xcworkspace xcode/mxml.xcodeproj/xcuserdata diff --git a/mmd.c b/mmd.c index 350bcf7..4d20269 100644 --- a/mmd.c +++ b/mmd.c @@ -9,6 +9,21 @@ * information. */ + /* + * Beginning with VC2005, Microsoft breaks ISO C and POSIX conformance + * by deprecating a number of functions in the name of security, even + * when many of the affected functions are otherwise completely secure. + * The _CRT_SECURE_NO_DEPRECATE definition ensures that we won't get + * warnings from their use... + * + * Then Microsoft decided that they should ignore this in VC2008 and use + * yet another define (_CRT_SECURE_NO_WARNINGS) instead... + */ + +#define _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_WARNINGS + + /* * Include necessary headers... */ @@ -17,8 +32,21 @@ #include #include #include + + + /* + * Microsoft also renames the POSIX functions to _name, and introduces + * a broken compatibility layer using the original names. As a result, + * random crashes can occur when, for example, strdup() allocates memory + * from a different heap than used by malloc() and free(). + * + * To avoid moronic problems like this, we #define the POSIX function + * names to the corresponding non-standard Microsoft names. + */ + #ifdef WIN32 # define snprintf _snprintf +# define strdup _strdup #endif /* WIN32 */ diff --git a/vcnet/config.h b/vcnet/config.h index 6442fdb..038ba6e 100644 --- a/vcnet/config.h +++ b/vcnet/config.h @@ -21,7 +21,7 @@ * warnings from their use... * * Then Microsoft decided that they should ignore this in VC2008 and use - * yet another define (_CRT_SECURE_NO_WARNINGS) instead. Bastards. + * yet another define (_CRT_SECURE_NO_WARNINGS) instead... */ #define _CRT_SECURE_NO_DEPRECATE diff --git a/vcnet/mxml1.vcxproj b/vcnet/mxml1.vcxproj index 43c5131..b43ae3d 100644 --- a/vcnet/mxml1.vcxproj +++ b/vcnet/mxml1.vcxproj @@ -100,7 +100,7 @@ EditAndContinue - mxml1.dll + $(Configuration)\$(Platform)\$(ProductName)\mxml1.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) .\mxml1.def true @@ -108,7 +108,7 @@ Windows false - mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib MachineX86 @@ -122,7 +122,7 @@ ProgramDatabase - mxml1.dll + $(Configuration)\$(Platform)\$(ProductName)\mxml1.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) .\mxml1.def false @@ -131,7 +131,7 @@ true false - mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib MachineX86 @@ -151,7 +151,7 @@ ProgramDatabase - mxml1.dll + $(Configuration)\$(Platform)\$(ProductName)\mxml1.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) .\mxml1.def true @@ -159,7 +159,7 @@ Windows false - mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib MachineX64 @@ -176,7 +176,7 @@ ProgramDatabase - mxml1.dll + $(Configuration)\$(Platform)\$(ProductName)\mxml1.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) .\mxml1.def false @@ -185,7 +185,7 @@ true false - mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib MachineX64 diff --git a/vcnet/mxmldoc.vcxproj b/vcnet/mxmldoc.vcxproj index a288010..03bf221 100644 --- a/vcnet/mxmldoc.vcxproj +++ b/vcnet/mxmldoc.vcxproj @@ -100,7 +100,7 @@ EditAndContinue - ../mxmldoc.exe + $(Configuration)\$(Platform)\$(ProductName)\mxmldoc.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true $(OutDir)mxmldoc.pdb @@ -108,7 +108,7 @@ false MachineX86 - zlibstatic.lib;mxml1.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -121,7 +121,7 @@ ProgramDatabase - ../mxmldoc.exe + $(Configuration)\$(Platform)\$(ProductName)\mxmldoc.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true Console @@ -130,7 +130,7 @@ false MachineX86 - zlibstatic.lib;mxml1.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -149,7 +149,7 @@ ProgramDatabase - ../mxmldoc.exe + $(Configuration)\$(Platform)\$(ProductName)\mxmldoc.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true $(OutDir)mxmldoc.pdb @@ -157,7 +157,7 @@ false MachineX64 - zlibstatic.lib;mxml1.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -173,7 +173,7 @@ ProgramDatabase - ../mxmldoc.exe + $(Configuration)\$(Platform)\$(ProductName)\mxmldoc.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true Console @@ -182,7 +182,7 @@ false MachineX64 - zlibstatic.lib;mxml1.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -197,6 +197,11 @@ + + + {e5aa9476-9751-4654-8109-b1a2112d5e73} + + diff --git a/vcnet/testmxml.vcxproj b/vcnet/testmxml.vcxproj index b371f88..1f3eba5 100644 --- a/vcnet/testmxml.vcxproj +++ b/vcnet/testmxml.vcxproj @@ -100,7 +100,7 @@ EditAndContinue - ../testmxml.exe + $(Configuration)\$(Platform)\$(ProductName)\testmxml.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true $(OutDir)testmxml.pdb @@ -108,7 +108,7 @@ false MachineX86 - $(Configuration)\$(Platform)\mxmlstat\mxmlstat.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -121,7 +121,7 @@ ProgramDatabase - ../testmxml.exe + $(Configuration)\$(Platform)\$(ProductName)\testmxml.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true Console @@ -130,7 +130,7 @@ false MachineX86 - $(Configuration)\$(Platform)\mxmlstat\mxmlstat.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -149,7 +149,7 @@ ProgramDatabase - ../testmxml.exe + $(Configuration)\$(Platform)\$(ProductName)\testmxml.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true $(OutDir)testmxml.pdb @@ -157,7 +157,7 @@ false MachineX64 - $(Configuration)\$(Platform)\mxmlstat\mxmlstat.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -173,7 +173,7 @@ ProgramDatabase - ../testmxml.exe + $(Configuration)\$(Platform)\$(ProductName)\testmxml.exe oldnames.lib;%(IgnoreSpecificDefaultLibraries) true Console @@ -182,12 +182,17 @@ false MachineX64 - $(Configuration)\$(Platform)\mxmlstat\mxmlstat.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;%(AdditionalDependencies) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + {cdeebb3c-d45b-4cc5-be9b-0bd415a27958} + +