понедельник, 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.

4 комментария:

  1. A WYSYWIG редактор GUI там есть? Чтоб мышкой UI рисовать можно было.

    ОтветитьУдалить
  2. Всторенного не обнаружил, можно использовать сторонний. Мне понравился wxFormBuilder. Некоторые хвалят wxGlade. В некоторых моментах описываю GUI в коде, без всяких редакторов.

    ОтветитьУдалить
  3. Уважаемый monax!
    Спасибо за статью. Однако возник такой вопрос: работает ли у вас отладка приложений C++ с wxWidgets в Eclipse? Мне никак не удается ее настроить.

    ОтветитьУдалить
  4. > работает ли у вас отладка приложений C++ с wxWidgets в Eclipse?

    Нет, не работает. Я попробовал было настроить gdb+eclipse, но с ходу это сделать не получилось. Потом я вовсе перешёл на связку VCPP+wxWidgets, а в VCPP отладчик работает вполне себе неплохо. Поэтому задача отпала сама собой.

    ОтветитьУдалить