【问题标题】:Qt Creator linker error: LNK1104: cannot open fil 'usb-1.0.lib' - WindowsQt Creator 链接器错误:LNK1104:无法打开 fil 'usb-1.0.lib' - Windows
【发布时间】: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 file libusb-1.0.lib. By full path, you mean, write LIBS += E:\Qt\5.11.2\msvc2017_64\lib\libusb-1.0.lib` ?
  • 嗯,好的,那我去看看 CMake,看看它是否能解决我的问题。一旦我用 CMake 尝试了一些东西,我就会回来:)。但我仍然不太明白为什么它在带有 QMake 的 Linux 上运行得非常好,但在 Windows 上却不行

标签: c++ qt qt-creator libusb-1.0


【解决方案1】:

答案出现在上面的cmets中,不过这里我再写一遍: 我通过使用完整路径解决了它:LIBS+= E:\Qt\5.11.2\msvc2017_64\lib\libusb-1.0.lib。修改完成后,清理,运行 qmake 并构建项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 2022-01-20
    • 2011-03-26
    • 1970-01-01
    • 2021-11-11
    • 2015-03-02
    • 1970-01-01
    相关资源
    最近更新 更多