如何静态制作gcc链接libssp?

时间:2013-07-30 14:00:26

标签: linux gcc

如何让GCC使用静态库而不是动态库?通常,您将.a文件添加到链接器参数。但是libssp链接是由-fstack-protector选项触发的。如果编译器找到一个而不是静态库,则编译器更喜欢链接到共享库。

如果我尝试在没有libssp.so的系统上运行生成的程序,程序将无法运行。

(在某些构建机器上进行系统升级后,测试系统上的旧盒子搞砸了)

1 个答案:

答案 0 :(得分:5)

gcc -static static.c -o static -fstack-protector-all

gcc -static -lssp static.c -o static -fstack-protector-all

工作?你能在生成的二进制文件上运行ldd吗?

您使用的是什么版本的gcc?