尝试为 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
答案 0 :(得分:1)
这与Qt严格无关,只是因为这些功能未在Android中定义,如Does Android support log2和Android ndk can't find atof function以及其他地方所述。
您必须在包含FFmpeg标头之前定义这些功能,或找到为您执行此操作的库。