To compile for Windows Vista 64 bit dlls for Java is a long story. But in short:
Compiled with Visual C++ 2008 Express edition as a DLL project. To get that to work with 64bit compilers follow
the instructions (involving quite a bit of registry hacking) in http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/.
Then download the sources for hdf-java together with the hdf5 binaries for 64bit Windows (XP). I had to separately download two extra external
libraries that are supposed to be in the hdf5.lib: zlib.lib, szlib.lib which are separate projects.
In Visual Studio 2008 the linked libraries has to be added by 1) add a folder where the libraries reside, 2) add the individual libraries
to the dependencies of the linker.
Add the appropriate include directories for the .h files.
Add -DH5_USE_16_API to the command line for the compiler. This is a hint to the HDF5 sources not to use the latest function calls since
the API was changed without corresponding changes in the JNI wrapper.
When compiling and linking, two final unresolved externals appear: H5INcreate and H5INquery, I could not find those anywhere, so had to
comment those away in the source and replace with error messages, also commented away the call to scpy(). 
This makes the HFINcreate and H5INquery methods unusable, more energy is needed to track them down, but they are
 not called from anywhere in the DataSignals project, otherwise the library seems to work.
 
Some help is here: http://www.hdfgroup.org/windows/INSTALL_Windows.html#section4
and here: http://www.hdfgroup.org/windows/faq.html#Build_Q4


Also, see the following email response I got from the hdf5 group after I had implemented what is described above. So possibly the
following is a better route:

Hello Jakob,

    Hi - I am very interested in a 64bit version of the Java-hdf libraries. Are you
    planning such a version, or if not, do you possibly have som fragment
    instructions on how to accomplish this? Regards, Jakob Svensson


At the moment we do not have plans for supporting HDF Java on Windows
64-bit.  It takes a lot of work to support HDF-Java on a new platform, and
we do not yet have the funding to support it.

HDF5 1.8 supports Windows 64-bit, so it may be possible to build HDF Java
with Windows 64-bit, using HDF5 1.8 with the 1.6 backward compatibility
flag.  (The HDF-Java code itself does not support the new APIs in
HDF5 1.8.)

The key is that *all* libraries must be built using 64-bit (HDF5,
java, jni5, szip, zlib,..).

Below, I have included a messsage from a user who was able to get HDF-Java
built on Windows 64-bit. The HDF5 code changes he mentions below should
not be necessary if you build HDF5 1.8 from source and configure with
the 1.6 backward compatibility flag.

Here is a page that describes the compatibility macros in HDF5 1.8:
   http://hdfgroup.org/HDF5/doc/RM/APICompatMacros.html

Here is a web page for building the HDF-Java software:
   http://www.hdfgroup.org/hdf-java-html/build_src_windows.html

I hope this helps!

-Barbara


+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Barbara Jones
The HDF Helpdesk

The HDF Group
help@hdfgroup.org
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

How to build HDFView on Windows 64-bit
======================================

    Below is a summary of what I did to get hdf-java to compile on my

system.  I can send you a cop
y of the nmake file that I used if you are interested.


    Software versions used:
    - HDF: 5-182-win64-vs2005
    - hdf-java-2.5-src
    - szip21-x64-vs2005-noenc
    - zlib123-x64-s2005
    - Microsoft Visual C++ 2005 Redistributable (x64)
    - Microsoft Windows SDK for Vista (6000.16384.10)

    Code changes made:
    - Changed H5Acreate, H5Dcreate, H5Dopen, H5Eclear, H5Eprint,

H5Eset_auto, H5Ewalk, H5Gcreate, H
5Gopen, H5Pget_filter_by_id, H5Pget_filter, H5Rget_obj_type, H5Tcommit,
and H5Topen to use the HD
F 1.6 compatibility API (added "1" to the end of each function).

    - Commented out Java_ncsa_hdf_hdf5lib_H5_H5Increate and

Java_ncsa_hdf_hdf5lib_H5_H5INquery in h
5inImp.c due to reasons outlined above.


    jhdf5.mak changes:
    - Replaced Win64 references with Win32 (cosmetic).
    - Commented out references to H5IN.{c,obj} due to reasons outlined

above.

    - Changed cl.exe and link.exe to point to MS SDK x64 binaries.
    - Renamed LINK32* to LINK64* (cosmetic).
    - Changed LINK64_FLAGS "/machine:I386" to "/machine:x64".
    - (Didn't change MTL*, RSC, BSC* at all since they don't appear to be

used).


H5IN* is some prototype work for HDF5 indexing. It is not supported
You can safely remove  H5IN*.
 
