Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我尝试编译静态时,我收到以下错误:
gcc defrag.c -o abc.exe --static /usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status
但是,同样的东西在没有静态的情况下编译得很好:
gcc defrag.c -o abc.exe
问题:为什么指定static时编译失败?
发生错误是因为“--static”表示链接命令中的所有后续库都必须是静态的......但您的系统上只有一个动态库。
推荐解决方案:
gcc defrag.c -o abc -lc --static -lmystaticlib
如果您只是为了拥有静态 exe 而尝试创建静态 exe - 我建议“不要”。共享库很好。由于许多不同的原因。
这是一个很好的链接: