| 34 | |
| 35 | === Testing on Windows using old bindings === |
| 36 | |
| 37 | After you have downloaded the gdalautotest package, you need to check following things: |
| 38 | |
| 39 | * You have GDAL build using Microsoft Visual C++ compiler |
| 40 | * GDAL DLL is available in one of [http://msdn2.microsoft.com/en-us/library/ms682586.aspx searched location]. Simple solution is to add path to directory with GDAL DLL to the PATH environment: |
| 41 | {{{ |
| 42 | set PATH=C:\software\gdal;%PATH% |
| 43 | }}} |
| 44 | * Set PYTHONPATH environment variable, so old-gen bindings can be found: |
| 45 | {{{ |
| 46 | set PYTHONPATH=C:\software\gdal\pymod |
| 47 | }}} |
| 48 | * Set GDAL_DATA location: |
| 49 | {{{ |
| 50 | set GDAL_DATA=C:\software\gdal\data |
| 51 | }}} |
| 52 | |
| 53 | It's a good idea to run tests using full path to Python executable: |
| 54 | {{{ |
| 55 | C:\software\gdal |
| 56 | svn checkout https://svn.osgeo.org/gdal/trunk/autotest |
| 57 | cd autotest |
| 58 | C:\Python24\python.exe run_all.py |
| 59 | ... |
| 60 | }}} |
| 61 | |
| 62 | ==== Visual C++ 8.0 Notes ==== |
| 63 | |
| 64 | If you use Microsoft Visual C++ in version 8.0 (from Microsoft Visual Studio 2005), there are a few additional steps required. Python 2.4 and 2.5 is built using Visual C++ 7.0 and 7.1. The Visual C++ 8.0 generates manifest that describes all runtime dependencies of GDAL on Visual C++ libraries. From MSDN article [http://msdn2.microsoft.com/en-us/library/ms235624(VS.80).aspx Visual C++ Libraries as Shared Side-by-Side Assemblies]: |
| 65 | |
| 66 | Visual C++ libraries cannot be used by a C/C++ application without a manifest binding the application to these libraries. If a C/C++ application that depends on a Visual C++ library does not use a manifest, then an attempt to load the Visual C++ library as a dependent DLL from the application-local folder will result in an error message indicating that this is an unsupported way of loading a Visual C++ library. |
| 67 | |
| 68 | Because Python binaries were built using older Visual C++, they do not support manifests. In order to run GDAL Autotest package against GDAL DLL and Python bindings built using Visual C++ 8.0, you need to take following additional steps: |
| 69 | |
| 70 | * Prepare manifest for Python: |
| 71 | * Create file python.exe.manifest |
| 72 | * If you've built GDAL in release (non-debug) mode, paste following definition to the manifest file: |
| 73 | {{{ |
| 74 | <?xml version='1.0' encoding='UTF-8' standalone='yes'?> |
| 75 | <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> |
| 76 | <dependency> |
| 77 | <dependentAssembly> |
| 78 | <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> |
| 79 | </dependentAssembly> |
| 80 | </dependency> |
| 81 | </assembly> |
| 82 | }}} |
| 83 | * If you've built GDAL in debug mode, paste this: |
| 84 | {{{ |
| 85 | <?xml version='1.0' encoding='UTF-8' standalone='yes'?> |
| 86 | <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> |
| 87 | <dependency> |
| 88 | <dependentAssembly> |
| 89 | <assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> |
| 90 | </dependentAssembly> |
| 91 | </dependency> |
| 92 | </assembly> |
| 93 | }}} |
| 94 | |
| 95 | * Add location of runtime libraries files to PATH environment variable. It's important to set proper path depending on GDAL build configuration: |
| 96 | * Release mode: |
| 97 | {{{ |
| 98 | set PATH=C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT;%PATH% |
| 99 | }}} |
| 100 | * Debug mode: |
| 101 | {{{ |
| 102 | set PATH=C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT;%PATH% |
| 103 | }}} |
| 104 | |
| 105 | Note, the paths used above are based on default installation of Visual C++. |
| 106 | |
| 107 | If you combine these additional steps with steps explained in the bullet above, you should be ready to run GDAL Autotest. |