如何使gcc静态链接libssp?

3
我该如何让GCC使用静态库而不是动态库?通常情况下,您需要将.a文件添加到链接器参数中。但是,libssp链接是由-fstack-protector选项触发的。如果编译器找到共享库,则更喜欢链接到共享库而不是静态库。
如果我尝试在没有libssp.so的系统上运行生成的程序,则程序将无法运行。
(在某些构建机器上进行系统升级后,测试系统中的旧计算机出现了问题)

这可能与您相关:http://stackoverflow.com/questions/1348895/how-do-i-get-c-programs-to-link-with-gccs-stack-protector-feature-on-aix - Gearoid Murphy
1个回答

6

Does

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

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

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

您使用的gcc版本是什么?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接