如何将 ffmpeg 构建为位置独立可执行文件 (PIE) 或 PIC?

如何将 ffmpeg 构建为位置独立可执行文件 (PIE) 或 PIC?

我已经从官方网站上查看了 ffmpeg 的最新源代码。我现在想将 ffmpeg 编译并构建为与位置无关的可执行文件。

以下是我的配置命令

./configure --prefix=/usr/local --enable-gpl --enable-pic --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265

我添加了使其成为 PIE 的选项--enable-pic。但是,当构建过程成功完成并且我执行了以下强化检查时,我得到了以下输出

强化检查 ffmpeg

ffmpeg:
Position Independent Executable: no, normal executable!
Stack protected: yes
Fortify Source functions: yes (some protected functions found)
Read-only relocations: yes
Immediate binding: no, not found!

这告诉我 ffmpeg 仍然不是 PIE。有人能告诉我这里我遗漏了什么吗?是否需要进行其他更改才能添加 PIE 支持。

更新:

平台:Ubuntu(15.04)Linux 64 位

我需要为 Android 编译支持 PIE 的 ffmpeg。

相关内容