С носки
( Звуковой обмен ); если вы имеете два файла с подобными скоростями передачи или уже устанавливаете в один канал:
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. При проигрывании источников с различными значениями усиления и т.д., вы, возможно, должны корректироваться два носки
команды (усиление и т.д.).
В обоих случаях это в первую очередь не предупреждения, нарушающие сборку.
Для компиляции ядра:
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
).