【问题标题】:Why ar gives a warning when creates a static library?为什么在创建静态库时会发出警告?
【发布时间】:2021-08-19 03:04:35
【问题描述】:

我不明白为什么ar 在创建库时会发出警告。

我这样做:

$ cat foo.c
int foo(int a) {
        return a + 1;
}
$ clang -c foo.c
$ ar r foo.a foo.o
ar: warning: creating foo.a
$ 

r 是与ar 一起使用的正确命令吗?为什么我会收到警告?

我正在使用clangFreeBSD。不确定ar 是来自clang 还是来自FreeBSD

【问题讨论】:

    标签: compilation clang static-libraries freebsd


    【解决方案1】:

    如果输出文件不存在,您应该使用c 修饰符。来自the man page

    c

    创建存档。当您请求更新时,如果指定的存档不存在,则始终会创建它。但是会发出警告,除非您事先指定您希望使用此修饰符来创建它。

    所以请尝试ar rc foo.a foo.o 使警告静音。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 2018-01-26
      • 2014-06-11
      相关资源
      最近更新 更多