Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Не помогает ключ –w (gcc)


Автор: lexluther 4.12.2004, 18:06
Всем привет,

Подскажите мне, пожалуйста, как мне избавиться от сообщения компилятора gcc которое он мне выдает при сборке объектных файлов в исполняемую программу

Attendant.o: In function `Attendant::MailingList(std::vector<unsigned, std::allocator<unsigned> >&, unsigned, bool, unsigned)':
Attendant.o(.text+0x64a8): warning: mktemp() possibly used unsafely; consider using mkstemp()

Проблема в том, что ключ –w убирает все остальные warning кроме этого, т.е. у меня не получается избавиться именно от этого сообщения поскольку ключ –w как я понял для этого сообщения не работает.

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

Об использовании другой функции (не mktemp) речи и быть не может (не мой код и к тому же он мне дается в объектных файлах).

Заранее спасибо за любой способ избавиться от этого сообщения или на худой конец от вывода на консоль

Автор: dargaard 4.12.2004, 23:46
Перепробовав кучу флагов gcc, так и не нашел флага для избавления от сообшения.
Чтоб не выводит на консоль:
самый простой способ
gcc file.c 2>/dev/null
но таким способом все возможные ошибки компилятора тоже будут не видны, что очень не удобно при разработке

способ 2:
gcc tt.c 2>&1 | grep "error"

таким способом некоторые ошибки будут выведены на консоль

Автор: Sun 7.12.2004, 15:27
Попробуй параметр -fpermissive

Автор: dargaard 7.12.2004, 17:03
Sun
Неа, не помогает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)