我正在尝试在Windows上的QtCreator上构建一个Qt项目(已在Ubuntu上运行)。我想在Debug模式下构建它,然后在Release模式下构建它,因为我希望将我的应用程序部署到Windows。
当第一次编译项目时,我有以下错误C1083: Cannot open include file 'libusb.h' no such file or directory
。我通过将E:\Qt\5.11.2\Src\qtwebengine\src\3rdparty\chromium\third_party\libusb\src\libusb
中的libusb.h文件复制到我的编译器文件夹中来解决了这个错误:E:\Qt\5.11.2\msvc2017_64\include
。
在清理并再次编译项目后,我有另一个错误,我无法找到解决方案,即使我用Google搜索并试图更改我的.pro文件的LIB += -lusb-1.0
行。这是错误:LNK1104: cannot open file
usb-1.0.lib`
这是我的项目文件:
QT += quick core
CONFIG += c++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
readthread.cpp \
passerelle.cpp
RESOURCES += qml.qrc
QML_IMPORT_PATH =
QML_DESIGNER_IMPORT_PATH =
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
HEADER += \
readthread.h \
passerelle.h
LIBS += -lusb-1.0
我在readthread.h文件中调用#include <libusb.h>
。
你碰巧知道如何解决这个问题,为什么编译器会寻找usb-1.0.lib
而不是libusb-1.0.lib
?
我已经尝试从下载的Latest Windows Binary downloads文件夹(libusb-1.0.22 \ MS64 \ dll \ libusb-1.0.lib)复制libusb-1.0.lib文件,但它没有改变任何东西......
答案出现在上面的评论中,但在这里我再写一遍:我通过使用完整路径解决了它:LIBS+= E:\Qt\5.11.2\msvc2017_64\lib\libusb-1.0.lib
。修改完成后,清理,运行qmake并构建项目。