首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Qt Creator中的第三方库链接错误

Qt Creator中的第三方库链接错误
EN

Stack Overflow用户
提问于 2015-07-08 05:17:43
回答 1查看 560关注 0票数 4

我需要将pcm数据解码为opus格式。因此,我希望将opus源代码包含到我的项目中,但我无法链接这些文件。我从here下载了源文件opus-1.1.tar.gz。在Qt Creator中,我将所有文件添加到我的pro-file中:

代码语言:javascript
运行
复制
INCLUDEPATH += \
$$PWD/opus/opus/celt \
$$PWD/opus/opus/celt/arm \
$$PWD/opus/opus/celt/tests \
$$PWD/opus/opus/celt/x86 \
$$PWD/opus/opus/silk \
$$PWD/opus/opus/silk/arm \
$$PWD/opus/opus/silk/fixed \
$$PWD/opus/opus/silk/float \
$$PWD/opus/opus/include \
$$PWD/opus/opus/win32

// and here would come an abnormous listing of all c- and h-files of opus:
SOURCES += ... 
HEADERS += ... 

在编译时,我收到来自stack_alloc.h的警告

代码语言:javascript
运行
复制
#if (!defined (VAR_ARRAYS) && !defined (USE_ALLOCA) && !defined (NONTHREADSAFE_PSEUDOSTACK))
#error "Opus requires one of VAR_ARRAYS, USE_ALLOCA, or NONTHREADSAFE_PSEUDOSTACK be defined to select the temporary allocation mode."
#endif    

例如,USE_ALLOCA是在opus/win32config.h中定义的。据我所见,文件config.h只包含如下内容:

代码语言:javascript
运行
复制
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

但在源代码附带的所有文件中,我都找不到#define HAVE_CONFIG_H。此外,在文件config.h中有一个#include "version.h"。该文件也不随源代码一起传送。我真的不知道如何使用Opus-lib。这不会很难,但我根本找不到一个运行的最小示例。

我使用的是Windows8、mingw和c++,但库是c。

EN

回答 1

Stack Overflow用户

发布于 2019-12-23 00:05:37

您可以将-D VAR_ARRAYS添加到编译命令中或在头文件中定义:

代码语言:javascript
运行
复制
#define VAR_ARRAYS 1

当使用emscripten (WebAssembly)构建时,我必须添加以下两个标志:

代码语言:javascript
运行
复制
$ emcc -D VAR_ARRAYS -D OPUS_BUILD ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31279445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档