[Homeros] установка voiceman-1.5.0.1 в vinux из исходников
Дмитрий Падучих
dpaduchikh на gmail.com
Чт Авг 30 19:58:37 MSK 2012
Michael Pozhidaev:
>> CmdArgsParser.cpp:87:1: warning: control reaches end of non-void
>> function [-Wreturn-type]
MP> Там нечего возвращать, потому что предполагается, что исполнение никогда
MP> до конца функции не дойдёт, стоит assert(0). Чтобы убрать
MP> предупреждение, можно что-нибудь подсунуть, но существенно ничего не
MP> изменится.
Файл компилируется с ключом -DNDEBUG.
>> ExecutorInterface.cpp: In member function ‘void ExecutorInterface::runExecutor()’:
>> ExecutorInterface.cpp:169:66: warning: missing sentinel in function
>> call [-Wformat]
MP> Тут что-то новое со списком аргументов переменной длины. В этой строке
MP> execlp(). Я погуглю, что теперь изменилось.
Ничего нового. cpp почему-то заменяет NULL на 0, который потом
трактуется как int. Мы это уже обсуждали.
>> default.c:505:3: warning: format ‘%lu’ expects argument of type ‘long
>> unsigned int’, but argument 5 has type ‘size_t’ [-Wformat]
MP> Это намёк, что всем пора переходить на %zu.
Или конвертировать аргументы в правильный тип. Или не использовать
size_t, если это не нужно. Мы об этом тоже говорили.
inline unsigned long lu(unsigned long x)
{ return x; }
size_t x = 0;
printf("x = %lu\n", lu(x));
>> main.cpp: In function ‘int readInput(int, LineParser&)’:
>> main.cpp:195:60: error: ‘read’ was not declared in this scope
MP> Не хватает #include<unistd.h>. Насколько можно судить, все остальные
MP> ошибки тоже вызваны этим.
Ну, я просто хотел сообщить о проблеме со сборкой. :-)
--
Дмитрий Падучих
Подробная информация о списке рассылки Homeros