[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