RNNLib配置期间出错:找不到netcdfcpp.h

时间:2014-04-18 14:51:40

标签: makefile netcdf

当试图编译RNNLib时,我在NetcdfDataset.hpp中遇到错误:26:24说无法找到Netcdfcpp.h。我环顾四周,发现2011年的一个错误报告表明这是一个错误,但它声称已经修复了。我已经尝试了我能想到的一切,包括使用各种不同的标志重建NetCDF(RNNLib的依赖关系),并且无法修复此错误。任何人都可以帮我一把吗?

5 个答案:

答案 0 :(得分:3)

我在构建rnnlib的虚拟机上遇到了一些麻烦。 我必须安装NetCDF的C和C ++版本才能使它工作。

可以通过sudo apt-get install libnetcdf-dev

安装C版本

我必须通过构建它来安装C ++版本。

希望它会有所帮助。这是一个非常难以安装的库。

答案 1 :(得分:1)

最新版本不再具有此netcdfcpp.h文件。 我不得不使用ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx-4.2.tar.gz来使其正常工作。

答案 2 :(得分:1)

也许这有助于某人:您可以通过从APT安装软件包来避免一些痛苦,并访问user3620756提到的包含netcdfcpp.h头文件的正确版本 。这是通过Ubuntun 16.04(Xenial Universe,请参阅APT repository)上提供的旧版程序包实现的。

首先为C安装libnetcdf,然后安装libnetcdf-cxx-legacy-dev,这应该依赖于libnetcdf-c++4并在旅途中安装所需的C ++库:

sudo apt install libnetcdf-dev libnetcdf-cxx-legacy-dev

答案 3 :(得分:0)

我也遵循了同样的过程,它对我有用 "最新版本不再具有此netcdfcpp.h文件。我不得不使用ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx-4.2.tar.gz来使其正常工作。" 下载文件夹后,我必须通过输入netcdf文件夹来构建它。我使用简单命令完成任务: 。\配置 使 sudo make install

但在名为" NetcdfDataset.hpp"的文件中,我必须提供netcdfcpp.h文件的完整路径。对于我的情况,包含文件的路径是:

#include "/Volumes/Macintosh_HD_2/WordSpottingProj/trunk/CODE C++/rnnlib_source_forge_version/netcdf-cxx-4.2/cxx/netcdfcpp.h"

答案 4 :(得分:0)

我在尝试使用调用netcdfcpp.h的makefile时遇到了这个问题:

$ make -f makefile_MAC
c++ -O2 -o burn7.x burn7.cpp -I/opt/local/include -L/opt/local/lib -lm -lnetcdf_c++
burn7.cpp:31:10: fatal error: 'netcdfcpp.h' file not found
#include <netcdfcpp.h>
     ^
1 error generated.
make: *** [burn7.x] Error 1

我在Mac上,所以我使用Homewbrew来安装NetCDF软件包,但版本4.3.3.1似乎没有netcdfcpp.h

brew install homebrew/science/netcdf

但是,我发现安装附加标志会导致包含此版本:

brew install homebrew/science/netcdf --with-cxx-compat

我认为其他安装/编译方法也是如此,而且自4.2以来,这个文件已从版本中取出,因为其他人回答了状态。也许它之前是默认选项而现在不是?