2012-06-15 2 views
1

Во время процесса компиляции на экране появляется много ошибок. Чтобы начать их разрешать, мне нужно прокручивать 3, 4 страницы. Я пробовал делать на них голову, но они все еще приходили на терминал.просмотр верхних строк больших выходов ошибки

g++ -std=c++0x testCoverDownloader.cpp -I /usr/include/QtCore/ -I /usr/include/QtGui 2>&1 | head 

Как мне сначала увидеть первые ошибки, а затем прокрутить страницу вниз? Приведенный выше код сокращает выход, чтобы показать 10 лучших строк. То, что я хочу, это все ошибки, но с самого начала, так что мне не нужно прокручивать вверх

+1

Если вы используете Vim, вы можете попробовать '<ваше заявление компиляции> 2> & 1 | vim -' Это должно вывести STDERR и STDOUT в vim для просмотра. –

+0

или '<ваш оператор компиляции> 2> & 1 | больше'. (с помощью комментария Майкла) – Mohammad

+2

Важной частью комментария от @Michael является часть перенаправления: Ошибка компилятора ставится на 'stderr'. Чтобы подключить его к 'head', просмотртору, подобному' more' или 'less', или даже редактору, подобному' vim', вам нужно перенаправить 'stderr' в' stdout'. Это делается с помощью '& 2> 1' (или более правильно' 2> & 1'). Дополнительную информацию о перенаправлении см. На странице руководства вашей оболочки. –

ответ

1

Если вы используете Vim, вы можете попробовать <your compile statement> 2>&1 | vim - Это должно труба STDERR и STDOUT в Vim для просмотра.

EDIT: Добавлено в @joachim pilberg «s комментарий, чтобы обеспечить более точный ответ:

Важной частью является Перенаправление часть: Ошибка из компилятора положить на STDERR. Чтобы подключить его к голове, зрителю нравится более или менее или даже редактор, такой как vim, вам нужно перенаправить stderr на stdout. Это , что делается с & 2> 1 (или вернее 2> & 1). Для получения дополнительной информации о перенаправлении обратитесь к руководству пользователя .

+0

[vickey @ tb tests] $ g ++ testCoverDownloader.cpp ../CoverDownloader.cpp -I/usr/include/QtGui/-I/usr/include/QtCore/-lQtGui -lQtCore -std = C++ 0x 2> & 1 | vim Vim: Предупреждение: Вход не с терминала Vim: Ошибка чтения ввода, выход ... Vim: сохранение файлов ... Vim: Закончено. –

+1

'g ++ testCoverDownloader.cpp ../CoverDownloader.cpp -I/usr/include/QtGui/-I/usr/include/QtCore/-lQtGui -lQtCore -std = C++ 0x 2> & 1 | vim -' Думаю, вы, возможно, отсутствовали в финале '-' –

+0

да: P .. это решение, которое я искал :) –

2

Наряду с использованием 2> & 1, чтобы получить STDERR результаты к STDOUT, вы можете попробовать тройник для того, чтобы получить результаты в файл для последующего просмотра.

1

вы можете также добавить -Wfatal-ошибки параметр компилятора, чтобы остановить компиляцию после первой ошибки

Смежные вопросы