Code::Blocks - это кроссплатформенная, бесплатная, Open Source среда разработки. В ней есть многие приятные вещи, которые современная среда разработки обязана уметь. Class browser, code completion, фолдинг (folding).
Есть импорт воркспейсов Microsoft Visual Studio и проектов Dev-C++.
Насколько мне известно, популярная среда разработки Dev-C++ умеет работать только с GCC-компиляторами. Так же как и у Code::Blocks у них есть версия с MinGW GCC, есть версия вообще без компилятора. Но к Code::Blocks еще можно подключать другие (не обязательно GCC) компиляторы через приятный интерфейс.
Причем для разных проектов можно подключить разные компиляторы, можно для одного и того же проекта попробовать различные компиляторы. Последнее должно быть особенно удобно для тех, кто разрабатывает open source проекты, которые просто обязаны компиляться всеми более-меннее распространенными компиляторами. Плюс переход на другой компилятор можно произвести очень быстро. Выбираешь в списке другой компилятор, работаешь с ним - не понравилось? Возвращаешь все обратно, настройки все сохранились. Никаких дополнительных сред разработки скачивать не надо, привыкать к ним не надо.
Список компиляторов, с которыми умеет работать Code::Blocks:
- GNU GCC (Linux)
- MinGW GCC (Win32)
- Microsoft's Visual C++ Free Toolkit 2003 (Win32)
- Borland's C++ Compiler 5.5 (Win32)
- DigitalMars (Win32)
- OpenWatcom (Win32)
- Small Device C Compiler (SDCC)
Также различные настройки для различных компиляторов возможно проставить для каждого проекта индивидуально.
Если работа над Code::Blocks будет продолжаться в том же духе, он сможет составить весьма достойную конкуренцию Microsoft Visual Studio. Дело в том, что не так давно Microsoft выпустила Microsoft Visual C++ Toolkit 2003, который, в том числе, содержит консольную версию своего компилятора, которые они используют в Visual Studio .NET 2003 Professional. Плохо в нем то, что он - компилятор командной строки, сколь-нибудь большой проект таким образом разрабатывать сложно, все равно нужно какое-то средство разработки. И если раньше выбора особенного не было и приходилось работать с Visual Studio, то теперь есть Code::Blocks, появился выбор.
Но у меня с ним обнаружилась одна небольшая засада. Компилятор из тулкита не понимает пробелы в именах файлов и названиях директорий. Я же люблю все инсталлировать в директорию Program Files. Поскольку Microsoft утверждает, что это точь-точь тот же компилятор, что используется в Visual Studio .NET 2003 Professional, то, я думаю, что это среда Visual Studio заключает названия директорий в кавычки прозрачно для пользователя. Что-либо переделывать мне было лень, так что скомпилять я ничего так и не скомпиляла. В багтраке Code::Blocks есть бага по этому поводу, но когда они ее поправят и поправят ли, большой вопрос.
Еще мнение о Code::Blocks:
Code::Blocks Studio
Ссылки по теме:
Free Windows Editors
Dev-C++
Microsoft Visual C++ Toolkit 2003
Technorati tag: cpp
40 коммент.:
> Плохо в нем то, что он - компилятор
> командной строки, сколь-нибудь большой
> проект таким образом разрабатывать сложно
Большие проекты как раз собираются в основном из командной строки (та же Mozilla). Обусловлено это тем, что именно в большом проекте надо не только код компилировать, но и запускать всякие препроцессоры и постобработчики, специфичные для проекта, поэтому зашить эту логику в make-файл и выполнять автоматически удобней, чем ходить по GUI и запускать программы в нужном порядке.
Ну и не в последнюю очередь из-за того, что большие проекты частенько рулятся не вполне переносящими GUI хакерами :-).
"Кроссплатформенная среда" звучит конечно круто. Но поддержаны только Linux и Windows. А как же, например, SunOS?!
>А как же, например, SunOS?!
Я думаю, можно скомпилять Code::Blocks и заставить его работать в связке с gcc. Народ в форуме пишет, что им удавалось его заставить работать на MacOS, на FreeBSD.
Вообще Code::Blocks расширяемый, для этого используется система плагинов. Плагины используются в том числе для добавления поддержки новых компиляторов.
Большие проекты как раз собираются в основном из командной строки (та же Mozilla).
Неправда. Там используются automake и autoconfи еще некторое количество perl-скриптов. Или Вы думаете, что makefile'ы они вручную пишут?
Это не я думаю. По-моему, разница между тем тем, что я написал - использование скриптовой билдовой среды вместо GUIшной - и тем, что вы из нее домыслии - название конкретных тулзов - очевидна. Думаю, также очевидно, что цель моего комментария заключалась не в том, чтобы показать, что я круто наизусть знаю, как компилируется Мозилла, а дополнить статью информацией, которую я посчитал нелишней.
Знаете, не все комментарии пишутся из агрессивного буквоедства...
Я запускал под Mac OS. Ничего сложного. Честно проще чем под Винду использовать MingW и Codeblocks.
Билды здесь:
http://developer.berlios.de/project/showfiles.php?group_id=5358
Знаю что пост очень старый, но CodeBlocks проигрывает студии по удобству в разы :(
sergey miryanov
Какой билд кодблокса проигрывает какой версии студии и чем, и насколько вы считаете это смертельным?
Евгений Железников
Нет, ничего смертельного нет. Просто это тот случай когда действительное не соотносится с желаемым.
Первым впечатлением было - как вообще в этой штуке можно писать?? Сначала не хватало smart tabs - имено это на 80% заставило написать комент. Затем я нашел smart tabs в настройках - стало легче, но если честно выглядит просто ужасно.
Дальше - не возможность скрывать окна, как в студии - я конечно понимаю что это мои проблемы - но смотреть на код как из амбразуры не приятно.
Дальше - не возможность смотреть отдельно ошибки и предупреждения.
Дальше - ужасный красный цвет сообщений об ошибках, я не бывшая школьница чтобы меня ими пугать.
Дальше - оригинальный способ сообщения об ошибках. Не скажу что это плохо или хорошо - но требует как миниум привыкания.
До дебага я не дошел, т.к. пока мне проект отлаживать не приходиться.
Как я уже сказал - ничего смертельного нет - но осадочек остался.
Да, и если вы как то причастны к разработке продукта - то я не смог заставить работать source formating.
Версия - 8.02 от 28 февраля 2008.
sergey mirianov
Первым впечатлением было - как вообще в этой штуке можно писать??
Шутите или как?
Сначала не хватало smart tabs - имено это на 80% заставило написать комент. Затем я нашел smart tabs в настройках - стало легче, но если честно выглядит просто ужасно.
Smart tabs - что имеете ввиду? Я под этим понимаю сохранение количества табов в отступе от начала строки при переходе на следующую строку. Если правильно понял, не понимаю, как вы это не нашли сразу и в чем разница с VS (и какой, опять же - не работал с 2008, в 2005ой вроде как все так же, или вы о tomato's visual assist?)
Настроить, что использовать - пробелы или таб - в настройках редактора.
Дальше - не возможность скрывать окна, как в студии - я конечно понимаю что это мои проблемы - но смотреть на код как из амбразуры не приятно.
F2 скрывает окно с закладками компилятора/дебаггера, вроде как есть шорткат и древо проекта скрывать, ну и как бы любое окно можно масштабировать, закрыть или переместить, включая вкладки, если что не устраивает и нужно расширить амбразуру.
Или вам именно без autohide совсем никак?
Про разделение предупреждений и ошибок - есть такое. Среда развивается, если вам нужны конкретные фичи быстрее - пишите в форум разработчиков или найдите вечер имплементировать руками и тоже забросить сделанное на форум.
Что не так с сообщением об ошибках?
Дальше - ужасный красный цвет сообщений об ошибках, я не бывшая школьница чтобы меня ими пугать.
Цвет и правда не настраивается. Но знаете ли... не обижайтесь, пожалуйста, но складывается ощущение, что вы не свободную среду разработки пробуете, а выбираете тряпку в тряпичной типа "бутик". Где мужыцкая брутальность и олдскульно-блокнотно-программистская приспособляемость? После таких оценок становится как-то страшно за следующее поколение беспомощно-эстетских "программистов", выросших на продукции ms.
p.s. забыл:
К разработке отношения не имею.
Source formatter настраивается в settings - editor - source formatter
Не smart tabs, а smart tab-switching, ошибся.
Олдскульно-блокнотно-программистской приспособляемостью я переболел, спасибо.
А выбираю я не шмотке в бутике, а среду в которой я буду проводить по 8+ часов в день и я хочу чтобы она была удобной и предсказуемой.
Думаю, продолжать диалог не конструктивно.
sergey mirianov
"Удобная и предсказуемая" коррелируется с освоением и привыканием к особенностями (при желании как минимум полазить по настройкам, чтобы найти F2 и настройки source formatter, который вполне работает).
Мне кажется странным, что вы ставите вопрос именно с "выбором среды для 8+ часов", сравнивая пофенечно с visual studio. Над vs много лет работает наемная армия, над кодблоксом - отряд повстанцев, надо ли сопоставлять человекочасы, вложенные средства и доводку юзабилити?
Имхо, выбор может быть таким: или у вас есть средства на лицензию вижуалстудии (если по рабочим/нравственным/религиозным соображениям не подходит пиратка) или вам нужна хобби-среда/кроссплатформа и не устраивает eclipse. То есть то, что студия удобнее, мощнее и доработаннее напильником, как бы не обсуждается, у C::B team, в отличие от разрабов Blender или OpenOfficeOrg, нет постоянных спонсоров для оплачиваемого фуллтайм. Code::Blocks - "народный" проект, и в todo-листе много архитектурных вещей, среда все так же активно разрабатывается, как и полтора года назад, конкретные юзабилити-мелочи могут быть все еще не доведены.
Ждете конструктива, начав с "проигрывает студии по удобству в разы" и "как вообще в этой штуке можно писать"?
Спрашивайте конкретно - постараюсь ответить так же конкретно и без грубиянства. А пока получилось вот как-то так.
sergey mirianov
Будет лучше всего, если вы четко сформулируете, что не нравится - по пунктам с указанием, как было бы удобнее и лучше, и отпишитесь на форуме разработчиков, либо, если не хотите, пишите сюда (или digited(сбк)yandex.ru), и я отправлю. Code::Blocks - тот случай, когда user feedback нужен и работает.
2Евгений Железников:
Ждете конструктива, начав с "проигрывает студии по удобству в разы" и "как вообще в этой штуке можно писать"?
Сергей высказал своё личное мнение по удобству пользования Code:Blocks'ом. И это штука довольно субьективная. Так что спорить тут бесполезно. "На вкус, на цвет" как говорится...
алёна
я неправильно понял человека, уладили почтой.
Попробую связаться с разработчиками по основным неустраивающим юзабилити-пунктам.
Забавно читать Евгения Железникова, настоящий патриот Code::Blocks :)
У меня проблема с пробелами, о которой говорила Алена. Я скачал Code::Blocks c MinGW, так он этот MinGW туда же куда Code::Blocks ставит, я установил в C:\Program Files\CodeBlocks\MinGW, а makefile wxWidgets'а с параметром clean не умеет работать с командами, в путях которых содержатся пробелы. Я захожу в C:\Program Files\wxWidgets-2.8.7\build\msw и пишу
mingw32-make.exe -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1, а потом
mingw32-make.exe -f makefile.gcc clean USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1
и мне пишет:
"C:/Program" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
mingw32-make: *** [clean] Error 1
кто-что знает по этому поводу помогите вернуть пространство на жестком диске :)
Создал тестовое приложение на основе визарда wxWidgets + wxSmith, при комплияции опять выдает ошибку с пробелом :(
-------------- Build: Debug in wxTest ---------------
Compiling: wxTestApp.cpp
Compiling: wxTestMain.cpp
Compiling: resource.rc
C:\Projects\wxTest\resource.rc:3:24: wx/msw/wx.rc: No such file or directory
gcc: Files\wxWidgets-2.8.7\include: No such file or directory
gcc: Files\wxWidgets-2.8.7\lib\gcc_dll\mswud: No such file or directory
windres.exe: preprocessing failed.
Process terminated with status 1 (0 minutes, 10 seconds)
2 errors, 0 warnings
Довольно давно пользуюсь CB, и помоему это замечательная среда разработки. Предпочла ее CodeWarrior, Dev-C++ и Anjuta... Для меня одним из основных доводов в пользу было то, что не приходится "пересаживаться" с одной среды на другую в windows и linux, версии CB для разных операционных систем мало чем отличаются. Вообще, наверное это для кого-то довольно спартанская среда, но лично мне после нее аналогичные продукты от microsoft кажутся слишком раздутыми и загроможденными, ведь большую часть предлагаемых там возможностей я не использую... Возможно, именно поэтому CB лично мне кажется более предсказуемым. И вообще, кому-то это тоже покажется странным, но я стараюсь пользоваться свободным софтом везде, где только это возможно.
Попробовал эту IDE буквально час назад в связке с MinGW, впечатление очень хорошее. VC 2008 уже так достал своими тормозами, да и глюков в нем хватает (тот же cl стартанул только после танцев с бубном). Если и дальше Code::Blocks будет показывать себя так хорошо, полностью на него переберусь.
У КодБлока появился конкурент, КодЛайт http://codelite.org/ первые впечатления очень и очень благоприятные.
Вчера первый раз запустил под Windows 7. Выбрал Code::Blocks, так как есть желание попробывать написать простенькое кросс-платформенное приложение на wxWidgets, а Code::Blocks вроде как доступен на интересующих меня платформах (Win, Linux, MacOS). Впечатлениями делиться рано, после VS2008 пока привыкаю...
буквально только что поставил Code::Blocks 8.02 на FreeBSD. очень доволен пока что (тьфу тьфу). смотрел на эту IDE эдак с год назад под фрихой -- падала.
Рекомендую собирать Code::Blocks из репозитория - по сравнению с 8.02 там ОЧЕНЬ много улучшений и нововведений.
Если собирать лень, то на форуме Code::Blocks есть ветка, в которую выкладывают "ночные сборки" для Linux, Windows, Mac OS X.
Здраствуйте! Подскажите пожалуйста можно ли в C::B увидеть строку которой будет компилироваться мой target? Из-под Make все компилиреутся нормально (пробую компилить для wince компилятором arm-mingw32ce-g++), а вот в C::B компилится, но возникает зависимость исходника от LIBGCC-0.55.2.DLL хотя в опциях компилятора -fno-exceptions стоит. Как посмотреть строку компиляции? Хелп!
Logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
Выдираю вот для себя этот Code::Blocks чтобы получить версию среды в Portable версии. Другим словами куда не кинь папку со средой чтобы всегда запускалась и позволяла удобно работать.
Но пока не понял, где хранит конфигурацию свою ? Если в реестре, придется патчить место в котором она читает настройки из него.
может кто-то уже ковырялся и знает, как решить подобный вопрос ?
Здравствуйте!
Возможна ли поддержка 866 кодировки в C::B? Если да, то каким образом настроить?
К сожалению версия для MacOS X далека от стабильности, постоянно падает и невозможно работать. Я привык к Code::Blocks в линуксе и я пока не готов перенести все проекты в xCode
Code::Blocks действительно очень удобный, особенно если учесть, что это опенсорс и бесплатно. Единственный его недостаток - отладчик. К сожалению некоторые вещи в нём сделаны неудобно (особенно просмотр переменных наводя мышью) и есть разные глюки. Ощущение, что у них не хватает людей на исправление недостатков.
Добрый день.
Есть такой вопросик по Code::Block
Если использовать wxSmith, то при компиляции выдает ошибку :
: wx/dialog.h: No such file or directory|
Подскажите пожалуйста как ее исправить ?
Я тоже сторонник независимого IDE, одной рабочей среды для работы с разными компиляторами и платформами, поэтому сам сделал себе такую среду (см. alexklm.ru)и ею пользуюсь. Вот только хэлп писать лень и программу доводить до ума тоже, да и не профессионал я, а любитель. Об этом говорит хотя бы то, что о Code::Blocks Studio я услышал впервые сегодня. :)
Только вот попробовал Code::Block с рядом установленной студией 2013. Могу сказать, что я скорей всего перейду на Code::Block. Очень понравился. Я начинающий, но уже успел освоить студию в общих чертах. Запустив Code::Block, сразу освоился без проблем. За 5 мин. Сразу перечислю что понравилось в отличии от студии: 1) Прога мало весит. 2) Можно компилировать тут же созданный пустой доккумент срр, и не надо создавать громоздкий проект. 3) В редакторе кода, сразу имеется нумерация строк, в студии надо глубоко рыться в настройках чтобы вывести это. 4) Разноцветный, и весёлый, веселей писать), а не унылый как в студии. 5) Очень понравился вывод ошибок - таб "Build Mesages". Показывает ошибки и довольно точно объясняет в чём ошибка. В судии сделано не по одной а скопом, сразу все ошибки показывает, громоздко и не понятно в чём там ошибки, объясняется отдалёнными намёками. Единственное что лучше в студии, это то что ошибка показывается в реальном времени, подчёркивается волнистой линией как правило послеидущий знак, объект, функция. Вот главное преимущество студии. Если в Code::Block это добавят, про студию можно будет потихоньку забывать. Это всё правда субъективное мнение, в основном по удобсву юзанья. Естевственно не известна ввиду не опытности насыщенность данной проги полезным наполнением - плагами и библиотеками. Тут ничего сказать не могу, знаю что у Майков с этим очень не плохо, отсюда и вес студии, но не факт. Кто знает - скажите.
Начал проект в MS Visual Studio 2010 Express. Там он нормально компилируется и всё работает. Собственно, вот код:
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "\n\n\tРусские буквы, а не кракозябры! Ура!";
_getch();
return 0;
}
А вот в Code::Blocks (версия 13.12) с дефолтовым компилятором GNU GCC Compiler выдаёт кракозябры. Попробовал подключить компилятор Microsoft Visual C++ 2010, стал выдавать такую ошибку:
link fatal error lnk1104 не удается открыть файл kernel32.lib
Как это можно исправить?
Подскажите, как использовать компилятор от Visual Studio 2013 в Code::Blocks?
Дуже добре середовище. Мені особисто в ній і зручно і приємно працювати. Недоліків я не помітив. Що стосується Визуал Студіо, вона зручна, але велика. І складна, до неї точне ще потрібно звикнути ..
У Кодеблок потужна команда підтримки.
Дмитро
Здравствуйте, уважаемая Алена. Подскажите, есть ли возможность сделать так, чтобы debag сам открывал окно watch. Маленько надоедает каждый раз открывать watch, растягивать его, чтобы все в нем было видно, и добавлять в него нужные выражения.
Анонимный
Подскажите, есть ли возможность сделать так
Я давно не работаю с Code::Blocks, так что не подскажу
Добрый день! В Dev-C++ ни одна программа не компилируется и не запускается, даже "привет мир" запустить нереал.
Отправить комментарий