最近在编译x264的时候出现了错误:
/usr/bin/ld: libx264.a(dct-a.o): relocation R_X86_64_32 against `.rodata’ can not be used when making a PIE object; recompile with -fPIE
通过查找发现了一篇文章:
从Ubuntu16.10开始默认启用PIE,而makefile的库不支持PIE。故在CMakeliststxt中加入如下语句:
set(CMAKE_C_FLAGS “KaTeX parse error: Double subscript at position 9:
{CMAKE_C_̲FLAGS} -fPIC -n…{CMAKE_CXX_FLAGS} -fPIC -no-pie”)
原文链接:https://blog.csdn.net/eepii/article/details/112734652
知道原委后,那我们在x264configure生成的config.mak文件打开,在LDFLAGS后边加-fPIC -no-pie
:
LDFLAGS= -lm -s -fPIC -no-pie
然后编译就通过了。