OSDN Git Service

Restored Windows 2000 support (experimental!).
authorlordmulder <mulder2@gmx.de>
Mon, 15 Aug 2011 13:27:56 +0000 (15:27 +0200)
committerlordmulder <mulder2@gmx.de>
Mon, 15 Aug 2011 13:27:56 +0000 (15:27 +0200)
LameXP_VS2010.vcxproj
src/Config.h
src/Global.cpp
src/Main.cpp

index 806f81e..fab7a6a 100644 (file)
@@ -39,8 +39,7 @@
     <PlatformToolset>Windows7.1SDK</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
+  <ImportGroup Label="ExtensionSettings" />
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
   </ImportGroup>
@@ -140,11 +139,11 @@ copy "$(QTDIR)\plugins\imageformats\q????d4.dll" "$(TargetDir)imageformats\"
     </ClCompile>
     <Link>
       <AdditionalOptions>"/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions)</AdditionalOptions>
-      <AdditionalDependencies>qtmain.lib;QtCore4.lib;QtGui4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>qtmain.lib;QtCore4.lib;QtGui4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;EncodePointer.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ShowProgress>LinkVerboseLib</ShowProgress>
       <Version>
       </Version>
-      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\imageformats;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>false</GenerateDebugInformation>
       <AssemblyDebug>
       </AssemblyDebug>
@@ -156,6 +155,8 @@ copy "$(QTDIR)\plugins\imageformats\q????d4.dll" "$(TargetDir)imageformats\"
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <SetChecksum>true</SetChecksum>
       <TargetMachine>MachineX86</TargetMachine>
+      <MinimumRequiredVersion>5.0</MinimumRequiredVersion>
+      <EntryPointSymbol>lamexp_crt_startup</EntryPointSymbol>
     </Link>
     <PostBuildEvent>
       <Message>Copy plugin DLL%27s</Message>
@@ -203,9 +204,9 @@ del "$(TargetDir)imageformats\q???d4.dll"
     </ClCompile>
     <Link>
       <AdditionalOptions>"/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions)</AdditionalOptions>
-      <AdditionalDependencies>qtmain.lib;QtCore.lib;QtGui.lib;QtSvg.lib;qgif.lib;qsvg.lib;qico.lib;Winmm.lib;imm32.lib;ws2_32.lib;Shlwapi.lib;Wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>qtmain.lib;QtCore.lib;QtGui.lib;QtSvg.lib;qgif.lib;qsvg.lib;qico.lib;Winmm.lib;imm32.lib;ws2_32.lib;Shlwapi.lib;Wininet.lib;EncodePointer.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ShowProgress>LinkVerboseLib</ShowProgress>
-      <AdditionalLibraryDirectories>$(SolutionDir)\etc\Prerequisites\qt4_static\lib;$(SolutionDir)\etc\Prerequisites\qt4_static\plugins\imageformats;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(SolutionDir)\etc\Prerequisites\qt4_static\lib;$(SolutionDir)\etc\Prerequisites\qt4_static\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <GenerateDebugInformation>false</GenerateDebugInformation>
       <AssemblyDebug>
@@ -217,6 +218,8 @@ del "$(TargetDir)imageformats\q???d4.dll"
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <SetChecksum>true</SetChecksum>
       <TargetMachine>MachineX86</TargetMachine>
+      <MinimumRequiredVersion>5.0</MinimumRequiredVersion>
+      <EntryPointSymbol>lamexp_crt_startup</EntryPointSymbol>
     </Link>
     <PostBuildEvent>
       <Command>
@@ -1056,6 +1059,5 @@ del "$(TargetDir)imageformats\q???d4.dll"
     </ResourceCompile>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
+  <ImportGroup Label="ExtensionTargets" />
 </Project>
\ No newline at end of file
index 8f8c7b2..2d09c01 100644 (file)
@@ -30,7 +30,7 @@
 #define VER_LAMEXP_MINOR_LO                                    3
 #define VER_LAMEXP_TYPE                                                Alpha
 #define VER_LAMEXP_PATCH                                       10
-#define VER_LAMEXP_BUILD                                       634
+#define VER_LAMEXP_BUILD                                       638
 
 ///////////////////////////////////////////////////////////////////////////////
 // Tools versions
index dfa7659..522c3e8 100644 (file)
@@ -323,7 +323,6 @@ LONG WINAPI lamexp_exception_handler(__in struct _EXCEPTION_POINTERS *ExceptionI
        {
                HANDLE mainThread = OpenThread(THREAD_TERMINATE, FALSE, g_main_thread_id);
                if(mainThread) TerminateThread(mainThread, ULONG_MAX);
-               
        }
        
        FatalAppExit(0, L"Unhandeled exception error, application will exit!");
@@ -760,6 +759,10 @@ bool lamexp_init_qt(int argc, char* argv[])
        //Check the Windows version
        switch(QSysInfo::windowsVersion() & QSysInfo::WV_NT_based)
        {
+       case QSysInfo::WV_2000:
+               qDebug("Running on Windows 2000 (not officially supported!).\n");
+               lamexp_check_compatibility_mode("GetNativeSystemInfo", executableName);
+               break;
        case QSysInfo::WV_XP:
                qDebug("Running on Windows XP.\n");
                lamexp_check_compatibility_mode("GetLargePageMinimum", executableName);
@@ -777,7 +780,7 @@ bool lamexp_init_qt(int argc, char* argv[])
                lamexp_check_compatibility_mode(NULL, executableName);
                break;
        default:
-               qFatal("%s", QApplication::tr("Executable '%1' requires Windows XP or later.").arg(QString::fromLatin1(executableName)).toLatin1().constData());
+               qFatal("%s", QApplication::tr("Executable '%1' requires Windows 2000 or later.").arg(QString::fromLatin1(executableName)).toLatin1().constData());
                break;
        }
 
index d23fa2d..c24e6de 100644 (file)
@@ -254,11 +254,16 @@ int main(int argc, char* argv[])
        }
 }
 
-//extern "C"
-//{
-//     void __declspec(dllexport) __stdcall Test(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow)
-//     {
-//             OutputDebugStringA(lpszCmdLine);
-//             MessageBoxA(0, lpszCmdLine, "LameXP is here!", MB_ICONINFORMATION);
-//     }
-//}
+///////////////////////////////////////////////////////////////////////////////
+// CRT initialization
+///////////////////////////////////////////////////////////////////////////////
+
+extern "C"
+{
+       int WinMainCRTStartup(void);
+
+       int lamexp_crt_startup(void)
+       {
+               return WinMainCRTStartup();
+       }
+}