如何让GCC使用静态库而不是动态库?通常,您将.a文件添加到链接器参数.但是libssp链接是由-fstack-protector选项触发的.如果编译器找到一个而不是静态库,则编译器更喜欢链接到共享库.
如果我尝试在没有libssp.so的系统上运行生成的程序,程序将无法运行.
(在某些构建机器上进行系统升级后,测试系统上的旧盒子搞砸了)
是否
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?
| 归档时间: |
|
| 查看次数: |
3532 次 |
| 最近记录: |