将netcdf库与Qt链接

时间:2014-07-17 11:39:55

标签: qt dll netcdf

我有一个netbuf库的预建版本,我从Unidata网站上下载过, 现在我正在尝试将此库链接到Qt 5,以便在我的Qt项目中使用它。所以我在互联网上寻找一些解决方案,我发现我应该将这些行添加到Project.pro:

LIBS += -LC:/netcdf/lib -lnetcdf

INCLUDEPATH += C:/netcdf/include

但是在运行项目后,它不起作用,所以我用debuger重新运行它,它向我显示了这个消息框
(titled "executable Failed") : During startup program exited with code 0xc0000135

请帮忙!

1 个答案:

答案 0 :(得分:0)

预构建的库是使用Microsoft Visual Studio构建的。我记得,Qt SDK在Windows上使用的C / C ++编译器是mingw - gcc的变体。我不确定预先构建的netcdf库是否与mingw运行时兼容,但无论如何混合C运行时通常不是一个好主意。

我假设你正在使用Qt Creator;如果是这样,那么你可能比想象的更容易自己编译netcdf-c库。由于netcdf-c项目使用CMake,因此您可以在Qt Creator中将其作为项目打开。

先决条件

您需要以下内容:

NetCDF依赖

请注意,您需要先安装以下依赖项,具体取决于您希望从netcdf库中获得的功能。

  • NetCDF4支持需要libhdf5和libhdf5_hl,两者均由http://www.hdfgroup.org提供的hdf5包提供。
  • DAP支持需要libcurl。谷歌应该能够帮助你找到这个。

如果您不需要这些功能,那么您可以使用netcdf-classic直接安装。

在Qt Creator中打开netcdf-c作为项目

  1. 启动Qt Creator
  2. 转到文件 - >打开项目
  3. 导航到netcdf-c源目录并打开CMakeLists.txt文件。
  4. 这会将netcdf源加载为Qt Creator中的新项目。在这一点上,编译netcdf并将其安装在系统上的某个位置以与项目一起使用应该非常简单。

    不正确的假设

    如果我假设你使用Qt Creator是错误的,那么命令行仍然可以做到这一点;然而,它会更多地参与其中。