Qt:未定义的参考atof,log2& android上的log2f链接到FFmpeg

时间:2017-10-09 17:15:08

标签: android c++ qt ffmpeg math.h

尝试为 android 链接到 FFmpeg 构建我的 Qt应用程序

我在android上遇到以下链接器错误。

libavformat/hls.c:783: error: undefined reference to 'atof'
libavcodec/ffv1enc.c:476: error: undefined reference to 'log2'
libavcodec/imc.c:472: error: undefined reference to 'log2f'

以下是我尝试链接 FFmpeg 的库列表。

-lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice -lpostproc -lm -lgnustl_static

链接器选项中缺少什么?

我还将以下内容设置为:

CONFIG += c++14
QMAKE_CXXFLAGS_RELEASE += -std=c++1y
QMAKE_CXXFLAGS_DEBUG += -std=c++1y

1 个答案:

答案 0 :(得分:1)

这与Qt严格无关,只是因为这些功能未在Android中定义,如Does Android support log2Android ndk can't find atof function以及其他地方所述。

您必须在包含FFmpeg标头之前定义这些功能,或找到为您执行此操作的库。