Показаны сообщения с ярлыком cpp. Показать все сообщения
Показаны сообщения с ярлыком cpp. Показать все сообщения

четверг, 13 августа 2009 г.

VS2008 & wxWidgets

На днях решил потестировать эту среду разработки для создания программ на виджетах. Как раз у меня в распоряжении оказалась машина, на которой можно было проводить опыты. Скачал и установил VisualStudio, распаковал wxWidgets и принялся за эксперименты. Собственно что сделал:
  1. Скомпилировал библиотеку
  2. Скомпилировал сэмплы
  3. Написал своё маленькое, но полезное мне приложение (чтоб "хелло ворлд" не писать)
Результаты:
  1. Компиляция как самой библиотеки, так и семплов прошла быстрее и проще, чем при использовании mingw.
  2. Нет нужды возиться с командной строкой, что уменьшает как сложность работы, так и время, необходимое на настройку виджетов и среды разработки.
  3. Компилятор работает заметно быстрее mingw'a.
  4. В ближайшее время буду работать с этой средой, потому что для работы с С++ она превосходит Eclipse (который весьма хорош для Java).

пятница, 10 июля 2009 г.

wxRichTextCtrl не может загружать файлы

Подбирал класс, с помощью которого можно было бы вставить прилично оформленную справку. При это хотелось бы использовать для подготовки справки что-то привычное и удобное, например OpenOffice. Первая мысль - RTF и wxRichTextCtrl. Взял примеры, потеститровал, почитал и... понял, что ничего не получится, ибо:

Despite its name, it cannot currently read or write RTF (rich text format) files.

Ну и фиг с ним, с поставленной задачей вполне справился wxHtmlWindow.

вторник, 21 апреля 2009 г.

GIMP и программирование на C++

Есть такой замечательный графический редактор GIMP. Есть у этого редактора очень полезная для С++ программистов возможность - сохранять картинки в формате xpm. Этот формат хранит картинку, как исходный код на С++. Очень удобная и полезная возможность включения картинок в свою программу на этапе компиляци. Нет нужды возиться с файлом ресурсов. Работая с wxWidgets, этот формат спокойно кушается классом wxBitmap. В общем, очень полезная вещь, как формат, так и редактор.

понедельник, 2 марта 2009 г.

Eclipse (ganymede), wxwidgets и mingw

Eclipse Europa служил мне верой и правдой, всячески помогая создавать программы, но настало то время, когда я решил перейти на Ganymede. Причина довольно проста - Europa плохо поддерживает очень удобный и нужный мне плагин Aptana. Поэтому решено настроить компиляцию C++ программ на этом дистрибутиве.

Ранее написанное мной руководство по настройке дистрибутива Europa полностью подходит и для Ganymede без каких-либо изменений и донастроек, чему я был очень рад.

Кстати, очень порадовала в eclipse возможность импорта настроек из другого проекта или другой конфигурации.

вторник, 25 ноября 2008 г.

Книги по С и С++

Полный справочник по С

Замечательная книга по языку С. Написано просто и доходчиво. Очень полезен список функций и описание к ним с примерами использования. Эту книгу можно смело использовать как пособие для самостоятельного изучения С. В конце книги есть полезное приложение, в котором рассматриваются базовые алгоритмы сортировки и поиска, структуры данных.

Для меня это была первая книга по программированию на языке С, которую я прочёл около 6 лет назад. Даже через 6 лет, она не потеряла для меня свою актуальность и удобство в качестве справочника.





Самоучитель С++

Очень хорошая книга для новичков в С++. Причём как для тех, кто обучается, так и для тех, кто учит.

1. Для самостоятельного изучения языка вполне подойдёт. Хоть там и говорится во введении, что книга расчитана на людей, программирующих на С, это не совсем так. Даже не имея опыта программирования на С можно начать изучение С++ с этой книги.
2. Мне эта книга пригодилась для обучения другого человека программированию. Очень удобное пособие, рассмотрение идёт от простого к сложному, материал подаётся в нормальном виде. Обучал инженера-энергетика, который с программированием до этого дружил плохо. Результат оказался очень хорошим. Поэтому могу посоветовать эту книгу опытным программистам, для обучения новичков.

Но нужно иметь ввиду, что эта книга не может быть единственным источником обучения - в ней не раскрывается множество важных деталей, которые необходимо знать программисту на C++.

понедельник, 10 ноября 2008 г.

Настройка Eclipse при разработке проектов на С++ с использованием wxWidgets

Это рассказ об удачном опыте настройки Eclipse для компиляции C++ проектов с wxwidgets (версии2.8.7) и с поддержкой юникода. Версия Eclipse – 3.3.2 (Europa).

Начнем с того, что на компьютере уже должны быть установлены jdk(или jre), mingw, wxwidgets. У меня mingw установлен в c:\mingw, wxwidgets – d:\wxwidgets. Далее нужно скачать Eclipse, предназначенный для работы с С++, например, отсюда, распаковать и запустить его. Далее пошаговая инструкция настройки (картинки кликабельны, можно посмотреть нормальный скриншот).

  1. Создать С++ проект.

  2. Переходим в окно настроек проекта, на вкладку Settings.

  3. Переходим в настройки препроцессора (Preprocessor) и добавляем переменную __WXMSW__ , если нужна поддержка юникода, то ещё нужно добавить _UNICODE.

  4. Переходим на вкладку Directories и добавляем пути к include-папкам компилятора и wxwidgets, у меня это c:/MinGW/include, d:/wxwidgets/lib/gcc_lib/msw, d:/wxwidgets/include.

  5. Переходим на вкладку Miscellaneous и в поле Other flag меняем содержимое на эту строку -c -Wundef -Wno-ctor-dtor-privacy -fno-strict-aliasing -mthreads -mwindows

  6. Затем идем в настройки компоновщика и на вкладке Miscellaneous в поле Linker flags вставляем текст --enable-auto-import -mthreads -mwindows

  7. Далее переходим на вкладку Libraries и добавляем в Library search path пути к директориям с библиотеками: "d:/wxwidgets/lib/gcc_lib" , "c:/MinGW/lib". Затем нужно добавить сами библиотеки в Libraries. Вот список библиотек (некоторые вам могут не понадобиться): wxmsw28u_core wxbase28u wxpng wxtiff wxzlib wxregexu wxexpat kernel32 user32 gdi32 comdlg32 winspool winmm shell32 comctl32 ole32 oleaut32 uuid rpcrt4 advapi32 wsock32 odbc32

  8. Добавляем к проекту файл с исходным кодом приложения (можно использовать пример minimal из wxwidgets\samples\minimal), компилируем и запускаем.

Если будете использовать юникод и русский текст, то в свойствах проекта нужно сменить кодировку на UTF-8, иначе получите абракадабру.

После всех этих манипуляций для меня остался открытым вопрос, как настроить нормальную работу с проектами С++ у Eclipse, который не заточен под С++, а просто на него поставили CDT. Также я не знаю, как обстоит дело с проектами С++ у дистрибутива Ganymede.