C++ gcc/clang是否可以在剥离所有调试信息的同时链接到可执行文件中?

C++ gcc/clang是否可以在剥离所有调试信息的同时链接到可执行文件中?,c++,c,gcc,C++,C,Gcc,我有一些用调试信息编译的大型库;当将它们与我编写的一些小对象文件链接时,仍然需要相当多的时间,并且生成的可执行文件包含大量库的调试信息 那么,有没有一个选项可以告诉gcc/clang放弃库中的那些调试信息?它会提高链接速度吗 如果没有简单的方法,我应该剥离库吗?我认为我没有特权,因为我的合作伙伴也使用这些库,他们需要使用库代码进行调试。如评论中所述,有两种方法: 保留所述库的本地副本,除去调试信息 链接到-Wl,-s或-s,使链接器输出为剥离的可执行文件 我只需要创建一个库的副本,stripde

我有一些用调试信息编译的大型库;当将它们与我编写的一些小对象文件链接时,仍然需要相当多的时间,并且生成的可执行文件包含大量库的调试信息

那么,有没有一个选项可以告诉gcc/clang放弃库中的那些调试信息?它会提高链接速度吗


如果没有简单的方法,我应该剥离库吗?我认为我没有特权,因为我的合作伙伴也使用这些库,他们需要使用库代码进行调试。

如评论中所述,有两种方法:

  • 保留所述库的本地副本,除去调试信息

  • 链接到
    -Wl,-s
    -s
    ,使链接器输出为剥离的可执行文件


  • 我只需要创建一个库的副本,
    strip
    debug信息,并将我的
    可执行文件链接到
    strip`ped版本。尝试将
    -Wl,-s
    或普通
    -s
    添加到link命令中。不过,我怀疑忽略调试信息是否会产生重大影响,除非我们讨论的是GBs的数据。@rubenvb-如果硬件非常陈旧/缓慢且库非常庞大,那么它会起作用。例如,我在一个特定的硬件上工作,机器速度很慢(奔腾2x1.5Ghz,2GB内存,等等),我使用的是一个巨大的库-没有剥离的信息,它大约是450MB,剥离的-大约32MB。在这个平台上,链接到两个版本的libs之间的差异非常大。