Ситуация:
Мне нужно добавить библиотеку (в моем случае HDF5) в мой проект qt.
Я знаю, как достаточно кодировать c ++ для моих целей, но я понятия не имею о файле .pro
.Когда я пытаюсь погуглить мою проблему или общие руководства по добавлению библиотек, я нахожу много ответов, но не понимаю ни одного из них, потому что они требуют больше знаний, чем у меня.Они говорят такие вещи, как «скомпилируйте это здесь и там», «добавьте это и это в вашу систему», «используйте qmake в каталоге xyz».Может кто-нибудь ответить на вопрос, чтобы тот, кто знает только немного о c ++ и зеленую кнопку компиляции и запуска qt, понял это?Было бы здорово: -)
То, что я устал:
Я знаю, что в qt есть мастер, который может добавлять библиотеки в проекты.Я использовал его, чтобы добавить необходимые библиотеки.Я добавил их как «внешние библиотеки».Я пробовал как динамический или статический, я пытался добавить только hdf5.lib
или hdf5_cpp.lib
.
Проблема:
Когда я делаю это, как я описал вышеи попробуйте использовать функцию из добавленной библиотеки, я всегда получаю ошибки, такие как: undefined reference to H5::Function_Name_xyz
. ![](https://i.stack.imgur.com/KqwIe.png)
My .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