【问题标题】:Fail to link UniDAQ library with MinGW4.8.2 in Qt5 (undefined reference to `_imp__)无法在 Qt5 中将 UniDAQ 库与 MinGW4.8.2 链接(未定义对 `_imp__ 的引用)
【发布时间】:2015-02-09 15:33:35
【问题描述】:

我正在尝试使用数字 I/O PCI 卡(数据采集板 PISO-P32A32U),尽管阅读了许多相关主题,但我仍在努力实现库文件。

我的系统在 Windows 7(64 位)上运行,我正在使用 MinGW4.8.2 编译器使用 Qt5.3.1 进行编程。

我将 UniDAQ.h 包含到我的项目中,将 LIBS += "D:\myProject\debug\UniDAQ.lib" 添加到我的 .pro 文件中,并将 UniDAQ.lib 和 UniDAQ.dll 放在 myProject 的调试文件夹中。

尽管如此,当尝试调用库的函数时,我收到类似

的错误消息

对 `_imp__Ixud_SearchCard@8' 的未定义引用

由于头文件声明

支持语言:Visual C++/Visual C.NET/Borland C++ Builder

我现在假设该库是为 MSVC 构建的,并且与 Qt/MinGW 的链接不兼容。 会是这样吗? 如果是这样:是否有某种解决方法来实现该库?

感谢您的任何建议。

【问题讨论】:

  • 是否有某种解决方法来实现该库?如果您有源文件,您可以使用 cmake 编译该库
  • 不幸的是,我只有制造商提供的 .dll、.lib 和 .h 文件。作为额外信息:qmake 和 cmake 出现相同的错误。

标签: c++ qt linker mingw


【解决方案1】:

似乎您正在尝试将 64 位 *.lib 文件链接到 32 位项目,反之亦然。 UniDAQ 的可分发包中包含两个版本的 UniDAQ.lib 文件(64 位和 32 位),请尝试使用另一个版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2019-02-12
    相关资源
    最近更新 更多