cc1: предупреждения рассматривают как ошибки когда Выпуск FreeBSD 8.2 компиляции

С носки ( Звуковой обмен ); если вы имеете два файла с подобными скоростями передачи или уже устанавливаете в один канал:

play -M A.mp3 B.mp3

Иначе:

play -m "|sox A.mp3 -p remix 0 1-2" "|sox B.mp3 -p remix 1-2 0"

то, Что это делает, просто игра вывод два носки команды, которые производят для передачи по каналу (-p); первый ремикс L/R к R и вторым ремиксам L/R к L. При проигрывании источников с различными значениями усиления и т.д., вы, возможно, должны корректироваться два носки команды (усиление и т.д.).

0
21.08.2018, 01:41
1 ответ

В обоих случаях это в первую очередь не предупреждения, нарушающие сборку.

Для компиляции ядра:

error: 'struct run_vap' has no member named 'beacon_mbuf'

компилятор сообщает, что код пытается получить доступ к чему-то, чего нет. Причин может быть много, но в целом это говорит о том, что код взломан. Может быть, вы пытаетесь скомпилировать модуль, который полагается на более новое/пальцевое внутреннее API ядра (т.е. использует другое определение структур, чем остальное ядро). Часто

warning: passing argument 1 of 'm_freem' from incompatible pointer type

является либо ошибкой при программировании (т.е. действительно передает что-то другое в качестве аргумента, чем ожидалось), либо недостающим оператором гипса. Причиной

cc1: warnings being treated as errors

является -Werror в флагах компилятора, что говорит компилятору относиться к предупреждениям как к ошибкам. Что, как правило, является хорошей идеей TM, на самом деле (в основном из-за часто встречающегося - "Но он компилирует, есть только некоторые предупреждения" отношение).

Для другой проблемы:

csh.lo(.text+0xdba6): In function `nlsclose':
: undefined reference to `dl_iconv_close'

на самом деле ошибка от компоновщика - компиляция прошла (более или менее) хорошо, но вы не поставляете внешние библиотеки, которые предоставляют некоторые символы, на которые ссылается код. Это часто случается, когда вы правильно #включаете заголовочные файлы , а затем забываете сказать компоновщику, чтобы он на самом деле линковался против этой библиотеки (обычно это опция -l).

2
28.01.2020, 02:36

Теги

Похожие вопросы