Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочется некой красоты при компиляции 
:(
    Опции темы
SABROG
Дата 15.3.2009, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 4
Всего: 91



Наверно многие из нас завороженно смотрят на процесс компиляции, как на костер.
Так вот хочется приукрасить вывод на экран. Вместо того, чтобы видеть такую портянку:

Цитата

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug/capabilities.exe tmp/obj/debug_shared/window.o tmp/obj/debug_shared/main.o tmp/obj/debug_shared/moc_window.o  -L'd:/work/qt-win-opensource-src-4.5.0/lib' -L'd:/work/qt-win-opensource-src-4.5.0/lib' -lmingw32 -lqtmaind -lphonond4 -lQtGuid4 -lQtCored4


Хочу что-то типа такого:

Код

Compiling: debug/capabilities.exe
Linking: debug/capabilities.exe
Warning: ...
Error: ...


Соответственно компилятор gcc. Может есть какие-то наработки, wrapper'ы? Даже не знаю какую фразу составить в гугле.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 15.3.2009, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



В Linux есть colorgcc.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 15.3.2009, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 4
Всего: 91



Цитата(andrew_121 @ 15.3.2009,  11:33)
В Linux есть colorgcc.

Угу, только оно похоже только подкрашивает

user posted image

В идеале хотелось бы shell script.

Это сообщение отредактировал(а) SABROG - 15.3.2009, 11:47


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 15.3.2009, 11:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



SABROG, Да. Но другого не знаю. Увы...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Riddik
Дата 15.3.2009, 13:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Юзайте Visual C++
PM MAIL   Вверх
andrew_121
Дата 15.3.2009, 13:30 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Riddik,  smile 
Могли бы обратить внимание на то что человек работает в Linux. Или это не что? )))


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Riddik
Дата 15.3.2009, 13:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



andrew_121,  сорри, действительно, не обратил внимание.
PM MAIL   Вверх
Dem_max
Дата 15.3.2009, 14:57 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 4
Всего: 39



SABROG, 
Не грусти, это же Linux поэтому и должно выглядеть так и никак иначе:
Цитата

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug/capabilities.exe tmp/obj/debug_shared/window.o tmp/obj/debug_shared/main.o tmp/obj/debug_shared/moc_window.o  -L'd:/work/qt-win-opensource-src-4.5.0/lib' -L'd:/work/qt-win-opensource-src-4.5.0/lib' -lmingw32 -lqtmaind -lphonond4 -lQtGuid4 -lQtCored4




--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Cтpaнник
Дата 15.3.2009, 15:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 12.10.2008
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: нет



Попробуй Code::Blocks (http://www.codeblocks.org).
PM MAIL   Вверх
nickless
Дата 15.3.2009, 19:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 19
Всего: 181



Цитата(SABROG @  15.3.2009,  10:23 Найти цитируемый пост)
Хочу что-то типа такого:

Тут вопрос больше в том, чем ты собираешь сорцы. Если используешь скажем qmake, он как сгенерировал мейкфайл, так и будет показывать.
Если ты пишешь Makefile сам, можешь изощряться как угодно, например так:
Код

# objects
#
$(DEST_DIR)/%.o : $(SRC_DIR)/%.cpp
    @echo -e "\nCompiling $<\n"
    @$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@ 3>&2 2>&1 1>&3 | /bin/sed -r -e 's#(^.+)(warning: )(.+$$)#^[[02;33m\2^[[m\1\2\3#' 
-e 's#(^.+)(error: )(.+$$)#^[[01;31m\2^[[m\1\2\3#' 3>&2 2>&1 1>&3

на выходе будет что-то вроде:
Цитата

% make

Compiling src/SceneBuilderFactories.cpp

In file included from src/SceneBuilderFactories.cpp:8:
src/PerspectiveCamera.h: In member function ‘virtual void PerspectiveCamera::setDir(Vec3f)’:
warning: src/PerspectiveCamera.h:91: warning: conversion to ‘float’ from ‘int’ may alter its value
src/PerspectiveCamera.h: In member function ‘virtual void PerspectiveCamera::setUp(Vec3f)’:
warning: src/PerspectiveCamera.h:107: warning: conversion to ‘float’ from ‘int’ may alter its value
src/PerspectiveCamera.h: In member function ‘float PerspectiveCamera::angle() const’:
warning: src/PerspectiveCamera.h:129: warning: conversion to ‘float’ from ‘double’ may alter its value
In file included from src/SceneBuilderFactories.cpp:9:
src/DepthOfFieldCamera.h: At global scope:
warning: src/DepthOfFieldCamera.h:197: warning: type qualifiers ignored on function return type
error: src/DepthOfFieldCamera.h:197: error: conflicting return type specified for ‘virtual const float DepthOfFieldCamera::aperture() const’
error: src/Camera.h:90: error:   overriding ‘virtual float Camera::aperture() const’
src/DepthOfFieldCamera.h: In constructor ‘DepthOfFieldCamera::DepthOfFieldCamera(Vec3f, Vec3f, Vec3f, float, int, int)’:
warning: src/DepthOfFieldCamera.h:53: warning: conversion to ‘float’ from ‘double’ may alter its value
warning: src/DepthOfFieldCamera.h:61: warning: conversion to ‘float’ from ‘int’ may alter its value
...


Но надо конечно понимать, что если ты изменишь формат ошибок и предупреждений, IDE не смогут их нормально пропарсить.


Лучший (ИМХО) вариант, использовать CMake, у него вывод по дефолту такой:
Цитата

[ 62%] Building CXX object CMakeFiles/plugin_ruby_newclass.dir/plugins/plugin_ruby_newclass.cxx.o
/tmp/bla/silentbob-1.7.4/plugins/plugin_ruby_newclass.cxx:71: warning: unused parameter ‘env’
Linking CXX shared library libplugin_ruby_newclass.so
[ 62%] Built target plugin_ruby_newclass
[ 64%] Building CXX object CMakeFiles/silent_bob.dir/src/callTags.cxx.o
<cut>
[ 97%] Building CXX object CMakeFiles/silent_bob.dir/src/tree.cxx.o
[100%] Building CXX object CMakeFiles/silent_bob.dir/src/usage.cxx.o
Linking CXX executable silent_bob
[100%] Built target silent_bob


Ну или использовать ИДЕ и не смотреть в консоль smile

Добавлено @ 19:22
ЗЫ
Конечно можно еще распарсить вывод любого мейкфайла перлом аналогично примеру мейкфайла выше (3-4 регулярных выражений думаю хватит)

Это сообщение отредактировал(а) nickless - 15.3.2009, 19:24


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
inside_pointer
Дата 15.3.2009, 20:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



Makefile
Код

 
CC     =  cc
LIB    = -lm
SRC    = main.c
OBJECT = main.o
TARGET = sin

help info:
    @echo "Usage: make { install | clean | help, info }";

install:
    @$(CC) -c $(SRC) -o $(OBJECT);
    @$(CC) $(LIB) $(OBJECT) -o $(TARGET);
    @echo "Usage: ./$(TARGET)";
    
clean:
    @rm -f $(OBJECT) $(TARGET);
    @echo "\"$(TARGET)\" remove...";



вывод
Код

[guest@station sin]$ ls
main.c  main.o  Makefile  sin
[guest@station sin]$ make
Usage: make { install | clean | help, info }
[guest@station sin]$ make clean
"sin" remove...
[guest@station sin]$ ls
main.c  Makefile
[guest@station sin]$ make install
Usage: ./sin
[guest@station sin]$ ls
main.c  main.o  Makefile  sin
[guest@station sin]$


 что нибудь вроде
Код

@echo "\"$(TARGET)\" remove..." 1>/dev/null;
 
тоже работает

Это сообщение отредактировал(а) inside_pointer - 15.3.2009, 20:57
PM MAIL   Вверх
pan2004
Дата 16.3.2009, 16:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 1
Всего: 9



Цитата(andrew_121 @  15.3.2009,  13:30 Найти цитируемый пост)
Могли бы обратить внимание на то что человек работает в Linux. Или это не что? ))) 

 smile Таки, это Windows. MinGW.
Цитата

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug/capabilities.exe tmp/obj/debug_shared/window.o tmp/obj/debug_shared/main.o tmp/obj/debug_shared/moc_window.o  -L'd:/work/qt-win-opensource-src-4.5.0/lib' -L'd:/work/qt-win-opensource-src-4.5.0/lib' -lmingw32 -lqtmaind -lphonond4 -lQtGuid4 -lQtCored4
 ЗЫ Таки работает phonon в MinGW?


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
andrew_121
Дата 17.3.2009, 12:04 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



pan2004, ЗЫ.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 18.3.2009, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 4
Всего: 91



Цитата(pan2004 @ 16.3.2009,  16:39)
Цитата(andrew_121 @  15.3.2009,  13:30 Найти цитируемый пост)
Могли бы обратить внимание на то что человек работает в Linux. Или это не что? ))) 

 smile Таки, это Windows. MinGW.
Цитата

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug/capabilities.exe tmp/obj/debug_shared/window.o tmp/obj/debug_shared/main.o tmp/obj/debug_shared/moc_window.o  -L'd:/work/qt-win-opensource-src-4.5.0/lib' -L'd:/work/qt-win-opensource-src-4.5.0/lib' -lmingw32 -lqtmaind -lphonond4 -lQtGuid4 -lQtCored4
 ЗЫ Таки работает phonon в MinGW?

Спасибо всем, конечно. Работает phonon и MinGW, с некоторыми подправками: http://wiki.qtcentre.org/index.php?title=B...ows_using_MinGW

Надо будет найти время позаниматься с CMake. Все-таки KDE его юзает и многие другие проекты, есть смысл.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.