Visual Studio - 添加 netCDF 库

Visual Studio - adding netCDF library

我想在 Windows 64 位上使用 Visual Studio Express 2013 在 C 项目中使用 netCDF 格式。我已经从 the official website 下载了安装文件并执行了 .exe。

然后,我研究了 this post 以了解我应该如何进行链接等。 更具体地说,在我 Visual Studio 的项目中,我做了以下事情:

  1. #include < netcdf.h >
  2. 在VC++目录,库目录,我添加了C:\Program Files (x86)\netCDF 4.3.3.1\lib; C:\Program Files (x86)\netCDF 4.3.3.1\bin;
  3. 在VC++目录中,Include目录,我添加了C:\Program Files (x86)\netCDF 4.3.3.1\include; C:\Program Files (x86)\netCDF 4.3.3.1\bin;
  4. 在链接器>输入>附加依赖项中,我添加了netcdf.lib(以及我在 netCDF 4.3.3.1
  5. 的 \lib 文件夹中找到的所有其他 .lib 文件
  6. 将netCDF 4.3.3.1的\bin文件夹下的所有.dll文件放在Windows\System32和Windows\SysWOW64

但是,当我运行项目(F5)时,它给出了以下2个错误:

  • error LNK2019: unresolved external symbol_nc_strerror referenced in function _main
  • error LNK1120: 1 unresolved external --> which is, I assume, due to the first error.

我几乎是 C 编程的新手 Visual Studio。有人可以帮忙吗?

提前致谢!

在其他人的帮助下,我终于搞定了。以下是适用于 Visual Studio 2010 和 Visual Studio 2013 的(详细)步骤。

我有一台 64 位 Windows 机器,但使用的是 netCDF 4.3.3.1(32 位)版本。我选择 32 位的原因是因为 32 位代码可以 运行 在 32 位和 64 位机器上。整个设置大体上包括三个部分:库安装,为你的电脑配置环境变量,为Visual studio配置属性。

以下是我电脑上的逐步设置。

1. netCDF库安装在C:\Program Files (x86)\netCDF 4.3.3.1

2. 进入'Computer',右击,选择'property' -> 高级系统设置 -> 进入'Advanced'标签页 -> 点击'Environmental Variables' -> 在[=48] =] 字段,查找名为 'Path' 的变量,然后单击 'Edit' -> 将以下内容附加到当前路径变量(';'用于分隔变量):

;C:\Program Files (x86)\netCDF 4.3.0\bin;

3. 转到 Visual studio -> 项目 -> 属性 -> 单击 'VC++ Directories'(配置属性之一) -> 通过添加 'C:\Program Files %28x86%29\netCDF 4.3.3.1\include' 编辑 'Include Directories' 字段的值 - > 通过添加 'C:\Program Files %28x86%29\netCDF 4.3.3.1\lib'

来编辑 'Library Directories' 的值
  1. (仍在属性中)转到链接器/常规(另一个配置属性)-> 确保 'Enable Incremental Linking' 字段为 'No' -> 通过添加以下两个来编辑 'additional Library Directories'路径:

C:\程序文件 %28x86%29\netCDF 4.3.3.1\lib C:\程序文件 %28x86%29\netCDF 4.3.3.1\bin

  1. (仍在链接器中)-> 单击链接器/输入-> 通过添加 'netcdf.lib' 来编辑 'Additional Dependencies'。

  2. 属性设置完成。在 C/C++ 代码中,您只需要使用

  3. 包含 netcdf 库

包括

请注意,对于较旧的 4.3.0 版本,还包括其他目录 (deps/shared)。这些在较新的4.3.3.1版本中不再单独列出,而是直接添加到\bin和\lib目录中。