如何在Window上编译Steinberg ASIO SDK?

问题描述 投票:0回答:1

我想使用 ASIO SDK 编译一个简单的程序,但是有一个奇怪的错误我无法修复。

#include "asio.h"

int main(void)
{
    ASIODriverInfo info {};

    ASIOInit(&info);

    return 0;
}

在这部分代码中,我调用 ASIOInit(ASIODriverInfo *info) 函数,并导致此错误:

asiosdk/common/asiodrvr.cpp:16:2: error: #error do not use this
   16 | #error do not use this
      |  ^~~~~

当我检查 asiodrvr.cpp 文件时,我发现了这段代码:

#if WINDOWS
#error do not use this
AsioDriver::AsioDriver (LPUNKNOWN pUnk, HRESULT *phr) : CUnknown("My AsioDriver", pUnk, phr)
{
}

如果我删除它,它可以工作,但我不应该修改 SDK,所以你知道避免此错误的正确方法是什么吗?

我的配置如下: 操作系统:Windows 11 编译器:g++ (MinGW64) 编译:手工制作文件 C++版本:23 编译器标志:-Wall -Wextra -Wpedantic

我尝试消除错误,但我认为这对于可移植性来说是不正确的, 我参考了SDK文件中的文档(PDF),不成功。

c++ windows audio asio steinberg-asio
1个回答
0
投票

您不应在构建中包含

asiodrvr.cpp
。至少,我是这么认为的。我只使用以下文件构建:

asio.cpp
asiodrivers.cpp
asiolist.cpp

尝试一下,看看效果如何。 ASIO 最初的目的是跨平台,但据我所知,现在仅支持 Windows。

© www.soinside.com 2019 - 2024. All rights reserved.