如何静态制作gcc链接libssp?

Cal*_*ius 2 linux gcc

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

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

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

Mat*_*att 5

是否

gcc -static static.c -o static -fstack-protector-all
Run Code Online (Sandbox Code Playgroud)

要么

gcc -static -lssp static.c -o static -fstack-protector-all
Run Code Online (Sandbox Code Playgroud)

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

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