当试图编译RNNLib时,我在NetcdfDataset.hpp中遇到错误:26:24说无法找到Netcdfcpp.h。我环顾四周,发现2011年的一个错误报告表明这是一个错误,但它声称已经修复了。我已经尝试了我能想到的一切,包括使用各种不同的标志重建NetCDF(RNNLib的依赖关系),并且无法修复此错误。任何人都可以帮我一把吗?
答案 0 :(得分:3)
我在构建rnnlib的虚拟机上遇到了一些麻烦。 我必须安装NetCDF的C和C ++版本才能使它工作。
可以通过sudo apt-get install libnetcdf-dev
我必须通过构建它来安装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以来,这个文件已从版本中取出,因为其他人回答了状态。也许它之前是默认选项而现在不是?