Qt:在 android 链接到 FFmpeg 时未定义对 atof、log2 和 log2f 的引用
Qt: Undefined reference to atof, log2 & log2f on android linking to FFmpeg
正在尝试构建我的 Qt 应用程序 android linking 到 FFmpeg 。
我在 android 上收到以下 linker 错误。
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'
以下是我尝试 link 用于 FFmpeg 的库列表。
-lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice -lpostproc -lm -lgnustl_static
linker 选项中我缺少什么?
我还将以下设置为:
CONFIG += c++14
QMAKE_CXXFLAGS_RELEASE += -std=c++1y
QMAKE_CXXFLAGS_DEBUG += -std=c++1y
这与 Qt 严格无关,只是因为这些函数未在 Android 中定义,如 Does Android support log2 and Android ndk can't find atof function 中所述,以及其他地方。
您要么必须在包含 FFmpeg 之前定义这些函数 headers,要么找到一个可以为您执行此操作的库。
正在尝试构建我的 Qt 应用程序 android linking 到 FFmpeg 。
我在 android 上收到以下 linker 错误。
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'
以下是我尝试 link 用于 FFmpeg 的库列表。
-lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice -lpostproc -lm -lgnustl_static
linker 选项中我缺少什么?
我还将以下设置为:
CONFIG += c++14
QMAKE_CXXFLAGS_RELEASE += -std=c++1y
QMAKE_CXXFLAGS_DEBUG += -std=c++1y
这与 Qt 严格无关,只是因为这些函数未在 Android 中定义,如 Does Android support log2 and Android ndk can't find atof function 中所述,以及其他地方。
您要么必须在包含 FFmpeg 之前定义这些函数 headers,要么找到一个可以为您执行此操作的库。