C++ HDF5 找不到-lhdf5d

C++ HDF5 cannot find -lhdf5d

情况:我想创建一个程序来从 .hdf5 文件中读取内容。

我做了什么: 没什么,只是将 hdf5.lib 添加到项目中。

问题:

我遇到两个错误

当我尝试 运行 程序时。

cannot find -lhdf5d
error: ld returned 1 exit status

我的代码:

HDF5_Test.pro:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
     main.cpp

win32:CONFIG(release, debug|release): LIBS += -L'C:/Program Files/HDF_Group/HDF5/1.10.2/lib/' -lhdf5
else:win32:CONFIG(debug, debug|release): LIBS += -L'C:/Program Files/HDF_Group/HDF5/1.10.2/lib/' -lhdf5d
else:unix: LIBS += -L'C:/Program Files/HDF_Group/HDF5/1.10.2/lib/' -lhdf5

INCLUDEPATH += 'C:/Program Files/HDF_Group/HDF5/1.10.2/include'
DEPENDPATH += 'C:/Program Files/HDF_Group/HDF5/1.10.2/include'

main.cpp:

#define H5_SIZEOF_SSIZE_T H5_SIZEOF_LONG_LONG //this is needed to avoid redefinition conflict of ssize_t (Qt vs HDF5)
#include <hdf5.h>
#include <H5Cpp.h> //Tried with and without this include

int main()
{
    return 0;
}

使用:


在另一个项目中,无论出于何种原因,这些错误都不会发生,但是这些。

.

我 linux,使用 apt-get install libhdf5-dev 我们安装了 8 个库,但 none 在其 "nature" 中是 lihdf5。我的意思是我的包含将是 -lhdf5_openmpi 而不是 -lhdf5。由于您没有提供下载源,请尝试检查您的 /lib 文件

中是否有多个库

我的解决方案是删除此行中的最后一个 "d":

else:win32:CONFIG(debug, debug|release): LIBS += -L'C:/Program Files/HDF_Group/HDF5/1.10.2/lib/' -lhdf5d

意味着我将 -lhdf5d 更改为 -lhdf5

This problem was fixed this way but lead to another problem.