因为项目需要,要将程序编译成non-pie类型的,所以需要在其编译时为其指定-no-pie
编译选项。该程序是使用cmake构建的,因此要在cmake时指定编译参数。
- 在命令行设定参数
cmake -DCMAKE_INSTALL_PREFIX=××× -DCMAKE_C_FLAGS=-no-pie -DCMAKE_CXX_FLAGS=-no-pie
这里顺带用CMAKE_INSTALL_PREFIX
指定了安装路径,我所使用的就是这种方式。在网上看到还有其他方式,记录在下。
- 在CMakeLists.txt文件中设定
set(CMAKE_CXX_FLAGS "-no-pie")
set(CMAKE_C_FLAGS "-no-pie")