[svn-r13712] Various changes made to bring Windows example tests up to date.

Tested:
VS 2005 on Win XP
This commit is contained in:
Scott Wegner 2007-04-30 16:36:54 -05:00
parent 4e6026d44f
commit a27b1b6e31
6 changed files with 68 additions and 120 deletions

View File

@ -740,7 +740,7 @@ The <release> layout of <hdf5lib> should be:
You may also find the similar layout for the <debug>.
========================================================================
Section I: How To Build Examples (Optional)
Section III: How To Build Examples (Optional)
========================================================================
Simple examples have been provided for users to test HDF5
@ -1490,6 +1490,11 @@ Notes: 1. For Intel Compiler users, Intel fortran Compiler 9.1 is currently
this mixed language projects. Choose
"The Intel Fortran project" as the the main project and
click "OK".
Note: In Visual Studio 2005, you may receive a message that
says "The attempt to convert the Fortran project file failed.
The project file (.dsp) has not been converted." This message
can safely be ignored.
Do the same thing for hdf5_hl_fortran.
@ -1610,12 +1615,25 @@ Notes: 1. For Intel Compiler users, Intel fortran Compiler 9.1 is currently
To build and test HDF5 Fortran example:
---------------------------------------
1. Invoke the Intel Fortran Compiler 9.1 or above under Microsoft
Visual Studio development environment, go to "File" and select
the "Open Workspace" option.
1.1 Open allf90examples.dsw and Convert Project Files (.dsp) to Visual
C++ .Net Format (.vcproj)
Then open the workspace
c:\MyHDFstuff\hdf5\windows\fortran\examples\allf90examples\allf90examples.dsw.
Invoke Microsoft Visual C++ .Net or 2005. From the main menu,
go to "File" and select "Open Solution". In the "Open Solution"
window, Change "Files of type" to "All Project Files". Choose
"allf90examples.dsw" under the directory
c:\MyHDFstuff\hdf5\windows\fortran\examples\allf90examples.
In the pop up window, choose "Yes To All" to convert all project
files to Visual C++ .Net project format.
1.2 Extract Compaq Fortran Project Files
a. Select project "attreexampletest" in the Solution Explorer
window. In the Project menu, select "Extract Compaq Visual
Fortran Project".
Do the same thing for the each of the other project files, excluding
"allf90examples"
2. Select "Build", then Select "Set Active Configuration".
@ -1675,10 +1693,24 @@ Notes: 1. For Intel Compiler users, Intel fortran Compiler 9.1 is currently
To build and test HDF5 High Level Fortran examples:
---------------------------------------------------
1. Invoke Compaq Visual Fortran 9.1, open the workspace
1.1 Open allhlf90examples.dsw and Convert Project Files (.dsp) to Visual
C++ .Net Format (.vcproj)
c:\MyHDFstuff\hdf5\windows\hl\fortran\examples\ (continue next line)
allhlf90examples\allhlf90examples.dsw
Invoke Microsoft Visual C++ .Net or 2005. From the main menu,
go to "File" and select "Open Solution". In the "Open Solution"
window, Change "Files of type" to "All Project Files". Choose
"allhlf90examples.dsw" under the directory
c:\MyHDFstuff\hdf5\windows\hl\fortran\examples\allhlf90examples.
In the pop up window, choose "Yes To All" to convert all project
files to Visual C++ .Net project format.
1.2 Extract Compaq Fortran Project Files
a. Select project "ex_lite" in the Solution Explorer
window. In the Project menu, select "Extract Compaq Visual
Fortran Project".
Do the same thing for the "ex_litedll".
2. Select "Build", then Select "Set Active Configuration".
@ -1940,7 +1972,8 @@ by other compilers.
To define this environment variable:
Click "Start" -> "Control Panel" -> "System" -> "Advanced" -> "Environment Variables".
Click "Start" -> "Control Panel" -> "System" -> "Advanced" ->
"Environment Variables".
If you are logged on as administrator to the local computer AND
want to let all other users use these two environment variables,
@ -1955,8 +1988,8 @@ by other compilers.
pre5. Copy pthreadVC2.dll to System Directory
pthreadVC2.dll should be copied into the location that applications can find.
One suggestion is to use the c:\WINDOWS\system.
pthreadVC2.dll should be copied into the location that applications
can find. One suggestion is to use the c:\WINDOWS\system.
1. Build HDF5 Release DLL with Thread-safe Feature
@ -2063,11 +2096,12 @@ by other compilers.
Go back to Section II, Step I(2) to Build, test and install HDF5
libary and tools.
========================================================================
Section XI: How to build HDF5 in Visual studio 2005 on windows 32-bit and 64-bit platform
Section XI: How to build HDF5 in Visual studio 2005 on windows 32-bit and
64-bit platform
========================================================================
The building procedure is almost the same as building HDF5 on .Net 2003.
For 64-bit, currently we only support HDF5 as an 32-bit application and you may need to
pay attention to the following reminders:
For 64-bit, currently we only support HDF5 as an 32-bit application and
you may need to pay attention to the following reminders:
1) To use zlib or szlib compression packages:
Use zlib 1.2.2 DLL provided at
ftp://ftp.hdfgroup.org/lib-external/zlib/1.2/bin/zlib123-windows.zip
@ -2076,8 +2110,8 @@ Section XI: How to build HDF5 in Visual studio 2005 on windows 32-bit and 64-bit
2) Make sure that WIN32 macro is set at visual studio 2005.
3) You may use _CRT_SECURE_NO_DEPRECATE to disable the warnings.
Please refer to Section VI: How to build HDF5 in Visual Studio .Net 2003.
Please also note that the example workspace may not work properly. You may need to reset hdf5
library path.
Please also note that the example workspace may not work properly. You may
need to reset hdf5 library path.
========================================================================
Section XII: Misc.
@ -2173,11 +2207,14 @@ using the Visual C++ Development Environment.
"HDF5F90_WINDOWS" to use HDF5 Fortran DLL.
3. 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:
3.1 Uncomment out /*#define H5_WANT_H5_V1_6_COMPAT 1*/ inside h5pubconf.h under windows\src.
3.2 Set up an environment variable H5_WANT_H5_V1_6_COMPAT to 1, this will be used to test compatibility
of error APIs.
Remember to undo 1 and 2 after you test if you are not going to use 1.6 backward compatibility option.
If you are going to use 1.6 APIs with 1.8 branch, you may do the
following two things:
3.1 Uncomment out /*#define H5_WANT_H5_V1_6_COMPAT 1*/ inside
h5pubconf.h under windows\src.
3.2 Set up an environment variable H5_WANT_H5_V1_6_COMPAT to 1,
this will be used to test compatibility of error APIs.
Remember to undo 1 and 2 after you test if you are not going to use 1.6
backward compatibility option.
************************************************************************
Please send email to help@hdfgroup.org for further assistance.

View File

@ -25,7 +25,6 @@ copy fortran\src\H5fortran_types.f90 ..\fortran\src
xcopy /e/i/Y *.bat ..\
copy batch_net\convert.js ..\batch_net\
copy examples\testExamples_exp_output.txt ..\examples
copy hl\fortran\examples\*.f90 ..\hl\fortran\examples\
cd ../batch_net
copy *.* ..\

View File

@ -2,7 +2,7 @@
Expected output for HDF5 C examples tests
#############################
The value of the attribute "Integer attribute" is 1
The value of the attribute with index 1 is ABCD
Found string attribute; its index is 1 , value = ABCD
Name : Float attribute
Rank : 2
@ -10,10 +10,10 @@ Dimension sizes : 2 3
Type : FLOAT
Values : -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000
Name : Integer attribute
Name : Character attribute
Name : Integer attribute
Field c :
1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000

View File

@ -26,7 +26,6 @@ CFG=ex_lite - Win32 Debug
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
F90=df.exe
RSC=rc.exe
!IF "$(CFG)" == "ex_lite - Win32 Release"
@ -42,6 +41,7 @@ RSC=rc.exe
# PROP Intermediate_Dir "..\..\..\..\..\hl\fortran\examples\ex_lite\Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
F90=df.exe
# ADD BASE F90 /compile_only /nologo /warn:nofileopt
# ADD F90 /compile_only /include:"..\..\..\..\..\proj\hdf5_fortran\release/" /include:"..\..\..\..\..\proj\hdf5_hl_fortran\release/" /nologo /warn:nofileopt /module:"Release/"
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
@ -53,7 +53,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) hdf5_fortran.lib hdf5_hl_fortranr.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\proj\hdf5_fortran\release" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\release"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) hdf5_fortran.lib hdf5_hl_fortranr.lib hdf5_hl_fortran.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\proj\hdf5_fortran\release" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\release"
!ELSEIF "$(CFG)" == "ex_lite - Win32 Debug"
@ -68,6 +68,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "..\..\..\..\..\hl\fortran\examples\ex_lite\Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
F90=df.exe
# ADD BASE F90 /check:bounds /compile_only /dbglibs /debug:full /nologo /traceback /warn:argument_checking /warn:nofileopt
# ADD F90 /check:bounds /compile_only /dbglibs /debug:full /include:"..\..\..\..\..\proj\hdf5_fortran\debug/" /include:"..\..\..\..\..\proj\hdf5_hl_fortran\debug/" /nologo /traceback /warn:argument_checking /warn:nofileopt /module:"Debug/"
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
@ -79,7 +80,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib hdf5_fortrand.lib hdf5_hl_fortrand.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc.lib" /pdbtype:sept /libpath:"..\..\..\..\..\proj\hdf5_fortran\debug" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\debug"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib hdf5_fortrand.lib hdf5_hl_fortrand.lib hdf5_hl_fortran.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc.lib" /pdbtype:sept /libpath:"..\..\..\..\..\proj\hdf5_fortran\debug" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\debug"
# SUBTRACT LINK32 /incremental:no /nodefaultlib
!ENDIF

View File

@ -1,91 +0,0 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
! *
! This file is part of HDF5. The full HDF5 copyright notice, including *
! terms governing use, modification, and redistribution, is contained in *
! the files COPYING and Copyright.html. COPYING can be found at the root *
! of the source code distribution tree; Copyright.html can be found at the *
! root level of an installed copy of the electronic HDF5 document set and *
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
! This file contains a FORTRAN90 example for the H5LT API
!
program lite_example
use H5LT ! module of H5LT
use HDF5 ! module of HDF5 library
implicit none
integer, parameter :: DIM1 = 4; ! Dimension of array
character(len=9), parameter :: filename = "exlite.h5"! File name
character(LEN=5), parameter :: dsetname1 = "dset1" ! Dataset name
integer(HID_T) :: file_id ! File identifier
integer(HSIZE_T), dimension(1) :: dims = (/DIM1/) ! Dataset dimensions
integer :: rank = 1 ! Dataset rank
integer, dimension(DIM1) :: buf1 ! Data buffer
integer, dimension(DIM1) :: bufr1 ! Data buffer
integer :: errcode ! Error flag
integer :: i ! general purpose integer
!
! Initialize the data array.
!
do i = 1, DIM1
buf1(i) = i;
end do
!
! Initialize FORTRAN predefined datatypes.
!
call h5open_f(errcode)
!
! Create a new file using default properties.
!
call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode)
!
! write dataset.
!
call h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf1, errcode)
!
! read dataset.
!
call h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr1, dims, errcode)
!
! compare read and write buffers.
!
do i = 1, DIM1
if ( buf1(i) .ne. bufr1(i) ) then
print *, 'read buffer differs from write buffer'
print *, bufr1(i), ' and ', buf1(i)
stop
endif
end do
!
! Close the file.
!
call h5fclose_f(file_id, errcode)
!
! Close FORTRAN predefined datatypes.
!
call h5close_f(errcode)
!
! end
!
end program lite_example

View File

@ -103,6 +103,7 @@ copy proj\hdf5_hl_fortrandll\debug\*.mod hdf5lib\debug\include
copy proj\hdf5_hl\debug\hdf5_hld.lib hdf5lib\debug\lib
copy proj\hdf5_hl_cpp\debug\hdf5_hl_cppd.lib hdf5lib\debug\lib
copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortrand.lib hdf5lib\debug\lib
copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortran.lib hdf5lib\debug\lib
copy proj\hdf5_hldll\debug\hdf5_hldlld.lib hdf5lib\debug\dll
copy proj\hdf5_hldll\debug\hdf5_hldlld.dll hdf5lib\debug\dll
@ -124,6 +125,7 @@ copy proj\hdf5_hl_fortrandll\release\*.mod hdf5lib\release\include
copy proj\hdf5_hl\release\hdf5_hl.lib hdf5lib\release\lib
copy proj\hdf5_hl_cpp\release\hdf5_hl_cpp.lib hdf5lib\release\lib
copy proj\hdf5_hl_fortran\release\hdf5_hl_fortranr.lib hdf5lib\release\lib
copy proj\hdf5_hl_fortran\release\hdf5_hl_fortran.lib hdf5lib\release\lib
copy proj\hdf5_hldll\release\hdf5_hldll.lib hdf5lib\release\dll
copy proj\hdf5_hldll\release\hdf5_hldll.dll hdf5lib\release\dll