Qt:未定义的对 atof、log2 和 log2f 的引用,在 android 上链接到 FFmpeg
Qt: Undefined reference to atof, log2 & log2f on android linking to FFmpeg
尝试为链接到FFmpeg的Android构建我的Qt应用程序。
我在安卓上收到以下链接器错误。
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
这严格来说与Qt无关,只是因为这些函数没有在Android中定义,如Android是否支持log2和Android ndk找不到atof函数等地所述。
您要么必须在包含 FFmpeg 标头之前定义这些函数,要么找到一个为你执行此操作的库。
相关文章:
- 如何在 android ndk 上链接 C 和 C++ 代码,以及 C 和 C++ 运行时库(包括 STL)?
- 为什么只有一个库的链接器错误'multiple definitions'?在 Android Studio 中使用 CMake (3.4.1)
- Android NDK.Build命令失败.未定义的引用.clang++:错误:链接器命令失败,退出代码为1
- 将 Android 上的错误与 OpenCV 3.4.0 和 NDK 链接
- Android Studio 链接器命令在包含 Boost 库时失败
- Android NDK Linker (GStreamer) - 无效的链接器名称 -fuse-ld=gold.
- 在 Android Studio 中使用 NDK、Gradle 和 CMake 链接外部库
- 未定义的参考错误链接天然函数Android
- 使用 Android Studio 使用本机代码编译 apk 时,如何在链接处删除 libgnustl_static.
- 带有静态库的Android NDK:链接器始终抛出“未定义的参考”
- Android Native:CMake 链接错误:未定义对 GL 函数的引用 - 即使包含并链接了 EGL 和 GLESv3
- 无法将OpenCV Android链接在QT中
- Android:在Android Studio中链接外部静态C/C++库
- Android中的OpenCV 4.0.1链接失败
- 如何通过Gradle将链接标志传递到Android Studio中的CMAKE
- Android Studio 2.2链接OPENCV静态库
- 不满意的链接错误在iOS但不是Android上,loadLibrary总是成功的
- 不满意的链接错误android的OpenALPR测试项目
- cocos2d android编译时链接不起作用
- ANDROID:如何在创建依赖于静态库的共享库时正确地链接静态库