mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-30 15:32:37 +08:00
[svn-r13951] Purpose: Update Windows documentation
Description: Explain why Fortran isn't supported on MinGW and give users an "unsupported" alternative. Also re-worked the main documentation to clarify using the HDF5 DLL libraries. Tested: None needed.
This commit is contained in:
parent
e3966680ef
commit
625e2f5047
@ -20,20 +20,18 @@ Preconditions:
|
||||
gcc-3.4.2 is included in MinGW, which includes:
|
||||
gcc : GNU C compiler
|
||||
gcc-g++: GNU C++ compiler
|
||||
gcc-g77: GNU Fortran 77 compiler
|
||||
|
||||
2.2 Using Compilers Not Supported
|
||||
|
||||
The compilers in 2.1 and 2.2 are supported and tested by HDF
|
||||
group. Any other compilers may still work but they are not
|
||||
The compilers in 2.1 are supported and tested by The HDF
|
||||
Group. Any other compilers may still work but they are not
|
||||
guaranteed by HDF group.
|
||||
|
||||
If users want to use other compilers except those in 2.1 and 2.2,
|
||||
If users want to use other compilers except those in 2.1,
|
||||
try to set the following variables to override the default
|
||||
choices.
|
||||
|
||||
CXX : C++ compiler command
|
||||
|
||||
|
||||
3. HDF5 Dependencies
|
||||
|
||||
@ -127,7 +125,15 @@ Build HDF5 on MinGW
|
||||
Therefore, each configuration must incude the parameter
|
||||
"--disable-stream-vfd".
|
||||
|
||||
2) Building Fortran libraries is also currently unsupported.
|
||||
2) Building Fortran libraries is also currently unsupported. This is
|
||||
because the current release of gcc for mingw (3.4.5) is not compatible
|
||||
with the current g95 for mingw (g95 0.91!, gcc version 4.0.3).
|
||||
|
||||
However, if you would like to build gcc 4.x on your own, there are
|
||||
instructions for doing so here:
|
||||
http://www.mingw.org/MinGWiki/index.php/How%20to%20Compile%20GCC%204.1
|
||||
Remember that this is UNSUPPORTED, and any Fortran binaries build
|
||||
should be considered experimental.
|
||||
|
||||
4) Shared libraries can not be built on MinGW in release 1.8.0.
|
||||
|
||||
@ -187,7 +193,7 @@ Build HDF5 on MinGW
|
||||
example, if users want to configure HDF5 C/C++
|
||||
library, with zlib library at /c/usr/, and
|
||||
install HDF5 into directory /c/hdf5 using
|
||||
gcc/g++ as C/C++ compiler and g95 as Fortran compiler:
|
||||
gcc/g++ as C/C++ compiler:
|
||||
|
||||
$ ./configure
|
||||
--with-zlib=/c/usr/include,/c/usr/lib
|
||||
|
@ -939,115 +939,128 @@ Waring: The instructions below will only describe how to build an application
|
||||
version of the HDF5 library or DLL, you need to substitute the release
|
||||
version of the HDF5 library or DLL with the debug version.
|
||||
|
||||
To use HDF5 static library
|
||||
|
||||
To build an application that uses the HDF5 static library the following
|
||||
locations will need to be specified for locating header files and linking with
|
||||
the HDF static library, for example:
|
||||
|
||||
To build an application that uses the HDF5 static library the following
|
||||
locations will need to be specified for locating header files and linking with
|
||||
the HDF static library, for example:
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\lib
|
||||
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\lib
|
||||
If you have installed HDF5 library in Section II, step 3.
|
||||
|
||||
If you have installed HDF5 library in Section II, step 3.
|
||||
We assume that you will use Zlib and Szip compression with HDF5 library.
|
||||
|
||||
We assume that you will use Zlib and Szip compression with HDF5 library.
|
||||
1. Specifying Include Directories
|
||||
|
||||
1. Specifying Include Directories
|
||||
|
||||
To specify the include directories in the settings for your Visual Studio
|
||||
project, you may choose one of the following two methods.
|
||||
To specify the include directories in the settings for your Visual Studio
|
||||
project, you may choose one of the following two methods.
|
||||
|
||||
Method One: Project-wide Settings
|
||||
Method One: Project-wide Settings
|
||||
|
||||
1. Open your project in Microsoft Visual Studio and make sure it is the
|
||||
active project.
|
||||
1. Open your project in Microsoft Visual Studio and make sure it is the
|
||||
active project.
|
||||
|
||||
2. Go to the Project menu and chose the "Properties" option.
|
||||
2. Go to the Project menu and chose the "Properties" option.
|
||||
|
||||
3. Choose the build configuration you would like to modify in the drop
|
||||
down menu labeled "Configuration:"
|
||||
3. Choose the build configuration you would like to modify in the drop
|
||||
down menu labeled "Configuration:"
|
||||
|
||||
4. Choose the "C/C++" tab, anc select "General".
|
||||
4. Choose the "C/C++" tab, anc select "General".
|
||||
|
||||
5. In a text-area labeled with "Additional Include Directories:", add
|
||||
HDF5, Zlib, and Szip header files directories. For example:
|
||||
5. In a text-area labeled with "Additional Include Directories:", add
|
||||
HDF5, Zlib, and Szip header files directories. For example:
|
||||
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
c:\zlib123\include
|
||||
c:\szip\include
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
c:\zlib123\include
|
||||
c:\szip\include
|
||||
|
||||
Then click OK.
|
||||
Then click OK.
|
||||
|
||||
6. (Optional) To use HDF5 Fortran static library, the location of
|
||||
Fortran module files should be specified by following Project->
|
||||
Settings->Fortran->Preprocessor, and in the text-area labeled
|
||||
"Additional Include Directories", add HDF5 Fortran module files
|
||||
directories. For example:
|
||||
6. (Optional) To use HDF5 Fortran static library, the location of
|
||||
Fortran module files should be specified by following Project->
|
||||
Settings->Fortran->Preprocessor, and in the text-area labeled
|
||||
"Additional Include Directories", add HDF5 Fortran module files
|
||||
directories. For example:
|
||||
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
|
||||
Method Two: Visual Studio Settings
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
|
||||
Method Two: Visual Studio Settings
|
||||
|
||||
1. In Visual STudio, go to Tools->Options->Projects->
|
||||
VC++ Directories.
|
||||
1. In Visual STudio, go to Tools->Options->Projects->
|
||||
VC++ Directories.
|
||||
|
||||
2. Insert the correct HDF5, Zlib, Szip paths for both headers(include)
|
||||
and libraries. For example,
|
||||
2. Insert the correct HDF5, Zlib, Szip paths for both headers(include)
|
||||
and libraries. For example,
|
||||
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\lib
|
||||
c:\zlib123\include
|
||||
c:\zlib123\lib
|
||||
c:\szip\include
|
||||
c:\szip\dll
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\include
|
||||
c:\MyHDFstuff\hdf5\hdf5lib\release\lib
|
||||
c:\zlib123\include
|
||||
c:\zlib123\lib
|
||||
c:\szip\include
|
||||
c:\szip\dll
|
||||
|
||||
3. Go to the Project menu and choose the "Settings" option.
|
||||
3. Go to the Project menu and choose the "Settings" option.
|
||||
|
||||
2. Specifying Linking Directories
|
||||
2. Specifying Linking Directories
|
||||
|
||||
To link the HDF5 static library with your application:
|
||||
To link the HDF5 static library with your application:
|
||||
|
||||
1. In Visual Studio, go to the Project menu and choose "Properties".
|
||||
1. In Visual Studio, go to the Project menu and choose "Properties".
|
||||
|
||||
2. Find the "Link" option and "Input" category. In the "Additional
|
||||
Dependencies" field, insert "zdll.lib, szlibdll.lib, hdf5.lib".
|
||||
2. Find the "Link" option and "Input" category. In the "Additional
|
||||
Dependencies" field, insert "zdll.lib, szlibdll.lib, hdf5.lib".
|
||||
|
||||
3. (Optional) Also insert "hdf5_cpp.lib" if you want to use HDF5 C++
|
||||
static library.
|
||||
3. (Optional) Also insert "hdf5_cpp.lib" if you want to use HDF5 C++
|
||||
static library.
|
||||
|
||||
4. (Optional) Also insert "hdf5_fortran.lib" if you want to use HDF5
|
||||
Fortran static library.
|
||||
4. (Optional) Also insert "hdf5_fortran.lib" if you want to use HDF5
|
||||
Fortran static library.
|
||||
|
||||
5. (Optional) Also insert "hdf5_hl.lib" if you want to use HDF5 high
|
||||
level static library.
|
||||
5. (Optional) Also insert "hdf5_hl.lib" if you want to use HDF5 high
|
||||
level static library.
|
||||
|
||||
6. (Optional) Also insert "hdf5_hl_cpp.lib" if you want to use HDF5 High
|
||||
Level C++ static library.
|
||||
6. (Optional) Also insert "hdf5_hl_cpp.lib" if you want to use HDF5 High
|
||||
Level C++ static library.
|
||||
|
||||
7. (Optional) Also insert "hdf5_hl_fortran.lib" if you want to use HDF5
|
||||
High Level Fortran static library.
|
||||
7. (Optional) Also insert "hdf5_hl_fortran.lib" if you want to use HDF5
|
||||
High Level Fortran static library.
|
||||
|
||||
|
||||
To link the HDF5 DLL library with your application:
|
||||
To link the HDF5 DLL library with your application:
|
||||
|
||||
1. Follow the steps for linking the HDF5 static library as shown above,
|
||||
except now link the export library that is created with the DLL.
|
||||
|
||||
The export library is called hdf5dll.lib for HDF5 C libray,
|
||||
hdf5_cppdll.lib for HDF5 C++ library, and hdf5_fortrandll.lib
|
||||
for HDF5 Fortran library.
|
||||
1. Follow the steps for linking the HDF5 static library as shown above,
|
||||
except now link the export library that is created with the DLL.
|
||||
|
||||
The export library is called hdf5dll.lib for HDF5 C libray,
|
||||
hdf5_cppdll.lib for HDF5 C++ library, and hdf5_fortrandll.lib
|
||||
for HDF5 Fortran library.
|
||||
|
||||
2. In the Project Properties dialog, go to the C/C++ > Preprocessor
|
||||
subsection. In the "Preprocessor Definitions" box, add "_HDF5USEDLL_"
|
||||
to the list.
|
||||
|
||||
3. (Optional) Also add HDF5CPP_USEDLL to use HDF5 C++ DLL.
|
||||
|
||||
2. Place the DLL in a location that Windows will be able to locate. The
|
||||
searched path and order for DLL's is
|
||||
4. (Optional) Also add _HDF5USEHLDLL_ to use HDF5 high level DLL.
|
||||
|
||||
a) The directory where the executable module for the current
|
||||
process is located.
|
||||
b) The current directory.
|
||||
c} The Windows system directory. The GetSystemDirectory function
|
||||
retrieves the path of this directory.
|
||||
d) The Windows directory. The GetWindowsDirectory function
|
||||
retrieves the path of this directory.
|
||||
e) The directories listed in the PATH environment variable.
|
||||
5. (Optional) Also add HDF5USE_HLCPPDLL use HDF5 high level C++ DLL.
|
||||
|
||||
6. (Optional) Follow Project->Settings->Fortran->Category->General->
|
||||
Predefined Preprocess or Symbols, and add "HDF5F90_WINDOWS" to use HDF5
|
||||
Fortran DLL.
|
||||
|
||||
7. Place the DLLs in a location that Windows will be able to locate. The
|
||||
searched path and order for DLL's is
|
||||
|
||||
a) The directory where the executable module for the current
|
||||
process is located.
|
||||
b) The current directory.
|
||||
c} The Windows system directory. The GetSystemDirectory function
|
||||
retrieves the path of this directory.
|
||||
d) The Windows directory. The GetWindowsDirectory function
|
||||
retrieves the path of this directory.
|
||||
e) The directories listed in the PATH environment variable.
|
||||
|
||||
========================================================================
|
||||
Section V: How to disable Gzip(Zlib)/Szip compression
|
||||
@ -1941,44 +1954,6 @@ using the Visual C++ Development Environment.
|
||||
Developer Studio project settings dialog.
|
||||
|
||||
|
||||
1.3 DLL... hints:
|
||||
|
||||
If you want to use DLL versions of HDF5 library in your application,
|
||||
you should
|
||||
|
||||
1) Put HDF5 DLL into Windows system directory
|
||||
|
||||
2) add HDF5 DLL export library into your project
|
||||
|
||||
3) Follow "Settings... details" into the last line:
|
||||
change Single-Threaded into Multithreaded DLL or
|
||||
Debug Multithreaded DLL
|
||||
|
||||
4) Follow "Settings.. details" into PreProcessor:
|
||||
Project
|
||||
Settings
|
||||
C/C++
|
||||
Category
|
||||
PreProcessor
|
||||
|
||||
Find PreProcessor definations and Add _HDF5USEDLL_ at the
|
||||
end of the PreProcessor definitions to use HDF5 C DLL.
|
||||
|
||||
5)(optional) repeat 4), add HDF5CPP_USEDLL at the
|
||||
end of the PreProcessor definitions to use HDF5 C++ DLL.
|
||||
|
||||
6) (optional) repeat 4), add _HDF5USEHLDLL_ at the
|
||||
end of the PreProcessor definitions to use HDF5 high level
|
||||
DLL.
|
||||
|
||||
7) (optional) repeat 4), add HDF5USE_HLCPPDLL at the
|
||||
end of the PreProcessor definitions to use HDF5 high level C++
|
||||
DLL.
|
||||
|
||||
8) (optional) Follow Project->Settings->Fortran->Category->
|
||||
General->Predefined Preprocess or Symbols, and add
|
||||
"HDF5F90_WINDOWS" to use HDF5 Fortran DLL.
|
||||
|
||||
2. Backward compatibility with 1.6
|
||||
If you are going to use 1.6 APIs with 1.8 branch, you may do the
|
||||
following two things:
|
||||
|
Loading…
Reference in New Issue
Block a user