#compilation #clang #static-libraries #freebsd
Вопрос:
Я не понимаю, почему 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
? Почему я получаю предупреждение?
Я использую clang
и. FreeBSD
Не уверен, происходит ли ar
это от clang
кого-то или от FreeBSD
кого-то .
Ответ №1:
Если выходной файл еще не существует, вы должны использовать c
модификатор. С главной страницы:
c
Создайте архив. Указанный архив всегда создается, если он не существовал, при запросе обновления. Но предупреждение выдается, если вы заранее не укажете, что собираетесь его создать, используя этот модификатор.
Поэтому постарайтесь ar rc foo.a foo.o
заглушить предупреждение.