【发布时间】:2023-03-16 06:17:02
【问题描述】:
情况:
我需要在我的 qt 项目中添加一个库(在我的例子中是 HDF5)。
我知道如何为我的目的编写足够多的 c++ 代码,但我对 .pro 文件一无所知。当我尝试用谷歌搜索我的问题或添加库的一般指南时,我找到了很多答案,但一个都不懂,因为它们需要的知识比我拥有的要多。他们说诸如“在这里和那里编译”、“将这个和那个添加到您的系统”、“在 xyz 目录中使用 qmake”之类的东西。有人可以回答这个问题,以便只知道一点c ++和qt绿色编译和运行按钮的人理解它吗?会很棒:-)
我累什么:
我知道 qt 中有一个向导可以将库添加到项目中。我用它来添加所需的库。我将它们添加为“外部库”。
我尝试过动态或静态,我也尝试只添加hdf5.lib 或hdf5_cpp.lib。
问题:
当我按照上面的描述进行操作并尝试使用添加的库中的函数时,我总是会收到如下错误:undefined reference to H5::Function_Name_xyz.
我的 .pro 看起来像(由 qt add-library-wizard 生成):
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += \
main.cpp
#Add external static library "hdf5.lib":
unix|win32: 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'
win32:!win32-g++: PRE_TARGETDEPS += 'C:/Program Files/HDF_Grou/HDF5/1.10.2/lib/hdf5.lib'
#Add external static library "hdf5_cpp.lib"
unix|win32: LIBS += -L'C:/Program Files/HDF_Group/HDF5/1.10.2/lib/' -lhdf5_cpp
INCLUDEPATH += 'C:/Program Files/HDF_Group/HDF5/1.10.2/include'
DEPENDPATH += 'C:/Program Files/HDF_Group/HDF5/1.10.2/include'
win32:!win32-g++: PRE_TARGETDEPS += 'C:/Program Files/HDF_Group/HDF5/1.10.2/lib/hdf5_cpp.lib'
使用:
- C++
- Qt 5.10.1
- MinGW 32 位
- HDF5 1.10.2
- Windows 7
【问题讨论】:
-
我认为您应该通过删除错字并插入实际问题来编辑您的original question(已经获得两票)。
-
此外,如果您实际上包括了正确的听众,那将是很好的理解