Qt - 未定义的函数参考 - Dante API库

时间:2016-05-09 20:54:30

标签: c++ qt

我对Qt很新,这里似乎有一些问题几乎与我的问题相符。但是,我真的找不到适合我的答案了......

这是我的问题:

我想使用Qt和Dante API库来实现一些基于IP的音频功能。如果我在Qt中使用Dante API函数,那么函数似乎被Qt识别,即Qt给出了一些关于函数的信息,例如:关于函数的返回值,如果我单击函数的代码。但是,该项目没有构建,我收到以下错误消息:

对...的未定义引用但丁API函数名称:例如aud_env_setup ... src名称:例如main.cpp中 错误:Id返回1退出状态找不到文件:collect2.exe

根据audinate,只需要包含 dante.h文件

任何帮助都会非常感激。

这是我用于控制台应用程序的相当简短的代码片段:

主文件:

#include <QCoreApplication>
#include <dante_api.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    aud_error_t result = AUD_SUCCESS;
    aud_env_t *my_env = NULL;

    result = aud_env_setup(&my_env);

    // Browsing
    db_browse_t * browse = NULL;
    db_browse_new(my_env, DB_BROWSE_TYPE_MEDIA_DEVICE, &browse);

    // Environment
    aud_env_release(my_env);

    return a.exec();
}

.pro文件:

QT += core
QT += network
QT -= gui

CONFIG += c++11

TARGET = Dante_API_Console_Template_2
CONFIG += console
CONFIG -= app_bundle
CONFIG += create_prl
CONFIG += link_prl

TEMPLATE = app

INCLUDEPATH += \
    DanteAPI/include/audinate

HEADERS += \
    DanteAPI/include/audinate/dante_api.h

SOURCES += main.cpp

LIBS += \
    -L"C:/Users/chd/Documents/Qt_Software/Dante_API_Console_Template_2/DanteAPI/lib/Release/Win32" -ldante_dnssd \

2 个答案:

答案 0 :(得分:0)

您不需要在项目中包含Dante库标题!从pro文件中删除此行代码:

HEADERS += \
    DanteAPI/include/audinate/dante_api.h

答案 1 :(得分:0)

在您的Qt .pro文件中,没有dapi.lib

LIBS += \
-L"C:/Users/chd/Documents/Qt_Software/Dante_API_Console_Template_2/DanteAPI/lib/Release/Win32" -ldante_dnssd \

在该行的末尾存在尾随\。你下面有线吗?如果没有,那么之后您可能会遇到问题。