QtCreator LNK2019 外部库错误

QtCreator LNK2019 error with external library

当我想 link 我的 Qt 项目的库时遇到问题。 当我尝试在 Qt Creator 中包含外部库 (libnodave.lib) 并尝试构建它时,出现以下错误。

main.obj:-1: Fehler: LNK2019: unresolved external symbol __imp_daveSetDebug referenced in function main

我很确定我的项目和 .pro 文件中包含了所有需要的文件。我使用 "Add Library" 向导来添加库。 在 Qt Creator 没有成功之后,我用 Visual Studio 创建了一个最小的例子。当我将所有需要的文件包含到 VS 项目中时,我可以毫无错误地构建和 运行 它。所以我认为 Qt Creator linking 库一定有问题。我也尝试了Qt-Visual-Studio-Add-in,但是那里出现了同样的错误。

Here 是我想要包含的库的最小示例。

在Visual Studio示例中,我将库路径、包含路径和库名称添加到项目属性中。有效。

希望你能帮我解决我的问题。

编辑:
我想使用该库从 S7-300 SPS 设备获取一些数据。

以下代码是 Qt Creator 中的最小示例。

#include <QCoreApplication>
#include <QDebug>
#include <nodave.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    daveInterface *di;
    daveSetDebug(daveDebugConnect); // Function of libnodave Library
    qDebug() << "Hello World";

    return a.exec();
}

这是 Visual Studio 最小示例的完整代码。

#include "stdafx.h"
#include <nodave.h>


int _tmain(int argc, _TCHAR* argv[])
{
    daveInterface *di;
    daveSetDebug(daveDebugConnect);
    printf("Hello World\n");

    return 0;
}

代码很少,我觉得里面没有错误。 这就是为什么我认为这一定是 Qt linker 或类似问题的原因。

编辑:
我的简历。

QT       += core
QT       -= gui

TARGET = qtminimal
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app   
SOURCES += main.cpp

win32: LIBS += -L$$PWD/../libnodave-0.8.5/win/ -llibnodave

INCLUDEPATH += $$PWD/../libnodave-0.8.5
DEPENDPATH += $$PWD/../libnodave-0.8.5

问题是 Qt 项目是 64 位的,而我要包含的库只有 32 位。 所以我下载了 32 位版本的 Qt,现在它可以工作了。 我发现了这个错误,当我试图用 libnodave 构建最小的例子时,没有任何 64 位 Qt 库。

通过在 VS2013 中创建一个新的 Qt 项目,使用 this 解决方法并在之后添加 libnodave 库,我可以更改它应该是 64 位还是 32 位构建。通过选择 32 位版本,Qt 库会产生错误,但 libnodave 库不会。当我选择 64 位构建时,只有 libnodave 会产生错误。

我希望它对其他人有用。