【发布时间】:2019-02-08 11:28:28
【问题描述】:
我正在尝试在 Windows 上的 QtCreator 上构建一个 Qt 项目(已经在 Ubuntu 上运行)。我想在调试模式下构建它,然后在发布模式下构建它,因为我希望将我的应用程序部署到 Windows。
第一次编译项目时,出现以下错误C1083: Cannot open include file 'libusb.h' no such file or directory。我通过将 libusb.h 文件从 E:\Qt\5.11.2\Src\qtwebengine\src\3rdparty\chromium\third_party\libusb\src\libusb 复制到我的编译器文件夹中解决了这个错误:E:\Qt\5.11.2\msvc2017_64\include。
再次清理和编译项目后,我遇到了另一个错误,我找不到解决方案,即使我用谷歌搜索并尝试更改我的 .pro 文件的LIB += -lusb-1.0 行。这是错误:LNK1104: cannot open fileusb-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 += libusb-1.0.lib -
我还是有同样的错误:/
-
你有一个错误说无法打开
usb-1.0.lib?您是否尝试过完整路径? -
是的,我有完全相同的错误:
LNK1104: cannot open filelibusb-1.0.lib. By full path, you mean, writeLIBS += E:\Qt\5.11.2\msvc2017_64\lib\libusb-1.0.lib` ? -
嗯,好的,那我去看看 CMake,看看它是否能解决我的问题。一旦我用 CMake 尝试了一些东西,我就会回来:)。但我仍然不太明白为什么它在带有 QMake 的 Linux 上运行得非常好,但在 Windows 上却不行
标签: c++ qt qt-creator libusb-1.0