mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-11-21 03:13:42 +08:00
Removed stray (but harmless) debugging info. Updated windows-binaries documentation to allow both latest stable release as well as latest release candidate.
This commit is contained in:
parent
c132d94608
commit
55eed7ffa1
@ -6,7 +6,6 @@
|
||||
## ENABLE_TESTING()
|
||||
## INCLUDE(CTest)
|
||||
|
||||
set(CTEST_TEST_TIMEOUT "1")
|
||||
set(DART_TESTING_TIMEOUT "3600")
|
||||
|
||||
set(CTEST_PROJECT_NAME "netcdf-c")
|
||||
|
@ -130,8 +130,7 @@ or
|
||||
* **What if I want to link against multiple libraries in a non-standard location?**
|
||||
|
||||
You can specify the path to search when looking for dependencies and header files using the CMAKE_PREFIX_PATH variable:
|
||||
|
||||
|
||||
|
||||
> cmake [Source Directory] -DCMAKE_PREFIX_PATH=c:\shared\libs\
|
||||
or
|
||||
> cmake [Source Directory] -DCMAKE_PREFIX_PATH=/usr/custom_library_locations/
|
||||
|
@ -14,12 +14,25 @@ Users who prefer to build the netCDF-C libraries from source in a Windows enviro
|
||||
|
||||
These libraries can be used with Visual Studio 2010 projects. The downloads are installer packages which contain the netCDF-C libraries and utilities (ncgen, ncgen3, ncdump and nccopy), as well as the associated dependencies.
|
||||
|
||||
## Latest Stable Release (netCDF-C 4.3.0)
|
||||
|
||||
Configuration | 32-bit | 64-bit |
|
||||
:-------------------|:-------- |:-------|
|
||||
netCDF 3 | [netCDF4.3.1-rc2-NC3-32.exe][1] | [netCDF4.3.1-rc2-NC3-64.exe][5]
|
||||
netCDF3+DAP | [netCDF4.3.1-rc2-NC3-DAP-32.exe][2] | [netCDF4.3.1-rc2-NC3-DAP-64.exe][6]
|
||||
netCDF4 | [netCDF4.3.1-rc2-NC4-32.exe][3] | [netCDF4.3.1-rc2-NC4-64.exe][7]
|
||||
netCDF4+DAP | [netCDF4.3.1-rc2-NC4-DAP-32.exe][4] | [netCDF4.3.1-rc2-NC4-DAP-64.exe][8]
|
||||
netCDF 3 | [netCDF4.3.0-NC3-32.exe][r1] | [netCDF4.3.0-NC3-64.exe][r5]
|
||||
netCDF3+DAP | [netCDF4.3.0-NC3-DAP-32.exe][r2] | [netCDF4.3.0-NC3-DAP-64.exe][r6]
|
||||
netCDF4 | [netCDF4.3.0-NC4-32.exe][r3] | [netCDF4.3.0-NC4-64.exe][r7]
|
||||
netCDF4+DAP | [netCDF4.3.0-NC4-DAP-32.exe][r4] | [netCDF4.3.0-NC4-DAP-64.exe][r8]
|
||||
|
||||
|
||||
|
||||
## Latest Release Candidate (netCDF-C 4.3.1-rc2)
|
||||
|
||||
Configuration | 32-bit | 64-bit |
|
||||
:-------------------|:-------- |:-------|
|
||||
netCDF 3 | [netCDF4.3.1-rc2-NC3-32.exe][rc1] | [netCDF4.3.1-rc2-NC3-64.exe][rc5]
|
||||
netCDF3+DAP | [netCDF4.3.1-rc2-NC3-DAP-32.exe][rc2] | [netCDF4.3.1-rc2-NC3-DAP-64.exe][rc6]
|
||||
netCDF4 | [netCDF4.3.1-rc2-NC4-32.exe][rc3] | [netCDF4.3.1-rc2-NC4-64.exe][rc7]
|
||||
netCDF4+DAP | [netCDF4.3.1-rc2-NC4-DAP-32.exe][rc4] | [netCDF4.3.1-rc2-NC4-DAP-64.exe][rc8]
|
||||
|
||||
# Using the netCDF-C Libraries with Visual Studio
|
||||
In order to use the netcdf libraries, you must ensure that the .dll files (along with any dependencies from deps/shared/bin) are on the system path. In order to compile a program using these libraries, you must first link your program against the appropriate 'import' (.lib) libraries.
|
||||
@ -36,16 +49,24 @@ When installed, the netCDF libraries are placed in the specified locations, alon
|
||||
|
||||
*The following points should be considered when using the netCDF-C libraries on Windows.*
|
||||
|
||||
1. Currently, 64-bit offset large file support is only available when using the 64-bit libraries. [NCF-219]
|
||||
2. When building the netCDF-C libraries with netCDF4 support, using the 'debug' libraries may cause extraneous warnings. These warnings are related to cross-dll memory management, and appear to be harmless. You can safely ignore them by using the 'release' libraries. [NCF-220]
|
||||
1. When building the netCDF-C libraries with netCDF4 support, using the 'debug' libraries may cause extraneous warnings. These warnings are related to cross-dll memory management, and appear to be harmless. You can safely ignore them by using the 'release' libraries. [NCF-220]
|
||||
|
||||
Both of these issues are being actively worked on. The may be tracked in the Unidata JIRA system at <http://bugtracking.unidata.ucar.edu/>, using the provided JIRA identifiers.
|
||||
|
||||
[1]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-32.exe
|
||||
[2]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-32.exe
|
||||
[3]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-32.exe
|
||||
[4]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-32.exe
|
||||
[5]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-64.exe
|
||||
[6]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-64.exe
|
||||
[7]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-64.exe
|
||||
[8]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-64.exe
|
||||
[r1]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-32.exe
|
||||
[r2]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-DAP-32.exe
|
||||
[r3]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-32.exe
|
||||
[r4]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-DAP-32.exe
|
||||
[r5]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-64.exe
|
||||
[r6]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-DAP-64.exe
|
||||
[r7]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-64.exe
|
||||
[r8]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-DAP-64.exe
|
||||
|
||||
|
||||
[rc1]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-32.exe
|
||||
[rc2]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-32.exe
|
||||
[rc3]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-32.exe
|
||||
[rc4]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-32.exe
|
||||
[rc5]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-64.exe
|
||||
[rc6]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-64.exe
|
||||
[rc7]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-64.exe
|
||||
[rc8]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-64.exe
|
||||
|
@ -64,7 +64,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* Create a netCDF 64-bit offset format file. Write a value. */
|
||||
sprintf(file_name, "%s/%s", TEMP_LARGE, FILE_NAME); fflush(0);
|
||||
sprintf(file_name, "%s/%s", TEMP_LARGE, FILE_NAME);
|
||||
printf("*** Creating %s for 64-bit offset large file test...", file_name);
|
||||
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
|
||||
ERR;
|
||||
@ -97,7 +97,7 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* How about a meteorological data file about the weather
|
||||
experience by various generals of revolutionary armies?
|
||||
@ -118,7 +118,7 @@ main(int argc, char **argv)
|
||||
classic format). Then some variations to check record var
|
||||
boundaries.
|
||||
*/
|
||||
printf("*** Now a 64-bit offset, large file, fixed var test..."); fflush(0);
|
||||
printf("*** Now a 64-bit offset, large file, fixed var test...");
|
||||
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -145,7 +145,7 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_enddef(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* Write a value or two just for fun. */
|
||||
/*index[0] = QTR_CLASSIC_MAX - 296;
|
||||
@ -155,7 +155,7 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if (int_val_in != int_val_out)
|
||||
BAIL2;*/
|
||||
printf("*** Now writing some values..."); fflush(0);
|
||||
printf("*** Now writing some values...");
|
||||
index[0] = QTR_CLASSIC_MAX - 295;
|
||||
if ((res = nc_put_var1_int(ncid, napoleanid, index, &int_val_out)))
|
||||
ERR;
|
||||
@ -182,12 +182,12 @@ main(int argc, char **argv)
|
||||
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* This time it should fail, because we're trying to cram this into
|
||||
a classic format file. nc_enddef will detect our violations and
|
||||
give an error. We've*/
|
||||
printf("*** Now a classic file which will fail..."); fflush(0);
|
||||
printf("*** Now a classic file which will fail...");
|
||||
if ((res = nc_create(file_name, cflag, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -216,10 +216,10 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)) != NC_EVARSIZE)
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* This will create some max sized 64-bit offset format fixed vars. */
|
||||
printf("*** Now a 64-bit offset, simple fixed var create test..."); fflush(0);
|
||||
printf("*** Now a 64-bit offset, simple fixed var create test...");
|
||||
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -240,11 +240,11 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* This will exceed the 64-bit offset format limits for one of the
|
||||
fixed vars. */
|
||||
printf("*** Now a 64-bit offset, over-sized file that will fail..."); fflush(0);
|
||||
printf("*** Now a 64-bit offset, over-sized file that will fail...");
|
||||
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -262,12 +262,12 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)) != NC_EVARSIZE)
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* Now let's see about record vars. First create a 64-bit offset
|
||||
file with three rec variables, each with the same numbers as
|
||||
defined above for the fixed var tests. This should all work. */
|
||||
printf("*** Now a 64-bit offset, record var file..."); fflush(0);
|
||||
printf("*** Now a 64-bit offset, record var file...");
|
||||
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -299,11 +299,11 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* Now try this record file in classic format. It should fail and
|
||||
the enddef. Too many bytes in the first record.*/
|
||||
printf("*** Now a classic file that's too big and will fail..."); fflush(0);
|
||||
printf("*** Now a classic file that's too big and will fail...");
|
||||
if ((res = nc_create(file_name, cflag, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -335,13 +335,13 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)) != NC_EVARSIZE)
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* Now try this record file in classic format. It just barely
|
||||
passes at the enddef. Almost, but not quite, too many bytes in
|
||||
the first record. Since I'm adding a fixed variable (Collins),
|
||||
I don't get the last record size exemption. */
|
||||
printf("*** Now a classic file with recs and one fixed will fail..."); fflush(0);
|
||||
printf("*** Now a classic file with recs and one fixed will fail...");
|
||||
if ((res = nc_create(file_name, cflag, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -364,7 +364,7 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* Try a classic file with several records, and the last record var
|
||||
with a record size greater than our magic number of 2 GiB - 4
|
||||
@ -374,7 +374,7 @@ main(int argc, char **argv)
|
||||
8, or about 16 GB per record. Zowie! (Mind you, Cromwell
|
||||
certainly had a great deal of revolutionary fervor.)
|
||||
*/
|
||||
printf("*** Now a classic file with one large rec var..."); fflush(0);
|
||||
printf("*** Now a classic file with one large rec var...");
|
||||
if ((res = nc_create(file_name, cflag, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -400,11 +400,11 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* This is a classic format file with an extra-large last record
|
||||
var. */
|
||||
printf("*** Now a classic file with extra-large last record var...") ;fflush(0);
|
||||
printf("*** Now a classic file with extra-large last record var...") ;
|
||||
if ((res = nc_create(file_name, cflag, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -443,13 +443,13 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* This is a classic format file with an extra-large second to last
|
||||
record var. But this time it won't work, because the size
|
||||
exemption only applies to the last record var. Note that one
|
||||
dimension is small (5000). */
|
||||
printf("*** Now a classic file xtra-large 2nd to last var that will fail..."); fflush(0);
|
||||
printf("*** Now a classic file xtra-large 2nd to last var that will fail...");
|
||||
if ((res = nc_create(file_name, cflag, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -480,13 +480,13 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)) != NC_EVARSIZE)
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* Now try an extra large second to last ver with 64-bit
|
||||
offset. This won't work either, because the cromwell var is so
|
||||
large. It exceeds the 4GiB - 4 byte per record limit for record
|
||||
vars. */
|
||||
printf("*** Now a 64-bit offset file with too-large rec var that will fail..."); fflush(0);
|
||||
printf("*** Now a 64-bit offset file with too-large rec var that will fail...");
|
||||
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -517,10 +517,10 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)) != NC_EVARSIZE)
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
|
||||
/* A 64-bit offset record file that just fits... */
|
||||
printf("*** Now a 64 bit-offset file that just fits..."); fflush(0);
|
||||
printf("*** Now a 64 bit-offset file that just fits...");
|
||||
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
|
||||
ERR;
|
||||
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
|
||||
@ -559,11 +559,11 @@ main(int argc, char **argv)
|
||||
ERR;
|
||||
if ((res = nc_close(ncid)))
|
||||
ERR;
|
||||
printf("ok\n"); fflush(0);
|
||||
printf("ok\n");
|
||||
} /* end of cmode run */
|
||||
|
||||
/* Wow! Everything worked! */
|
||||
printf("*** Tests successful!\n"); fflush(0);
|
||||
printf("*** Tests successful!\n");
|
||||
|
||||
/* Delete the huge data file we created. */
|
||||
(void) remove(file_name);
|
||||
|
Loading…
Reference in New Issue
Block a user