& cpp
Теневая сборка отключена. В про-файле:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
SOURCES += \
e14_440.cpp \
main.cpp \
mainwindow.cpp
HEADERS += \
e14_440.h \
include/Lusbapi.h \
include/LusbapiTypes.h \
mainwindow.h
FORMS += \
mainwindow.ui
#LIBS += "-L$$PWD/libs/Lusbapi.lib" // собирается
LIBS += "-L$$PWD/libs/Lusbapi.dll" // собирается
#LIBS += "-L$$PWD/libs/" -lLusbapi // не собирается
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
А самое главное, при попытке вызвать ф-цию из Lusbapi.h пишет undefined reference to 'GetDllVersion'
Lusbapi.pri INCLUDEPATH += \ $$PWD HEADERS += \ $$PWD\include/Lusbapi.h \ $$PWD\include/LusbapiTypes.h \ #LIBS += "-L$$PWD/libs/Lusbapi.lib" # собирается LIBS += "-L$$PWD/libs/Lusbapi.dll" # собирается #LIBS += "-L$$PWD/libs/" -lLusbapi # не собирается
А зачем ты длл вообще руками добавляешь?
.dll не надо добавлять в список библиотек компилятора.
либу надо? или ничего не надо?)
надо указывать библиотеку импорта. -L — указывает ПУТЬ к библиотеке, каталог , где она лежит -l — указывает имя библиотеки. (уточни в доке по своему компилятору, в каком виде)
LIBS += -L<Path to the library> -l<Lusbapi
LIBS += -L$$PWD/libs/ -lLusbapi — уже так и сделал и уже работает. А что значит что не надо добавлять длл в список библиотек компилятора?
-lLusbapi.dll — не нужно. .dll — это не библиотека, это — исполняемый модуль. Линкер с ним ничего не умеет делать
окей. А вопрос зачем нужны .lib?
Это библиотека, как зачем? чтобы собрать твоё приложение .
Обсуждают сегодня