Опубликован: 13.07.2012 | Доступ: свободный | Студентов: 460 / 8 | Оценка: 5.00 / 5.00 | Длительность: 18:06:00
Специальности: Программист
Лекция 2:

Начало работы с Juce. Создание приложений. Главное окно

< Лекция 1 || Лекция 2: 12345 || Лекция 3 >

Создание и сборка проекта Juce

В Juce, как и в других кроссплатформенных библиотеках, существует два типа проектов: платформ-независимый (имеет расширение *.jucer и представляет собой XML-файл) и платформ-зависимые (для Linux это Makefile, для Windows — проекты Visual Studio и т.п.), которые генерируются программой Introjucer (см. "Введение" ) на основе платформ-независимого проекта. Последний также создаётся в программе Introjucer.

Рассмотрим создание проектов и сборку приложения, использующего Juce версии 1.53, на примере оконного приложения, описанного выше. Создание проекта с помощью Introjucer, входящего в поставку 2-й версии, рассмотрено в конце данной лекции.

Создайте в папке ваших проектов каталог JuceWindow, а в нём — подпапку Source. В последней сохраните файлы main.cpp ( пример 2.1), TApplication.h ( пример 2.2), TApplication.cpp ( пример 2.3), TMainForm.h ( пример 2.5) и TMainForm.cpp ( пример 2.6).

Запустите программу Introjucer: в Linux из каталога <каталог Juce>/juce/extras/Introjucer/Builds/Linux/build; в Windows — из каталога <каталог Juce>/juce/extras/Introjucer/Builds/VisualStudio2010/Release.

Выберите в меню программы File > New Project... В диалоговом окне New Juce Project в выпадающем списке Project Type выберите GUI Application. Проверьте правильность пути к библиотеке в поле Juce Library Location и нажмите кнопку Next ( рис. 2.5)

Диалоговое окно New Juce Project

Рис. 2.5. Диалоговое окно New Juce Project

Появится диалоговое окно выбора каталога для сохранения файлов проекта. Выделите в нём созданную ранее папку JuceWindow и нажмите кнопку Open. В появившемся диалоговом окне New GUI Application в поле Project Name введите название проекта, а в выпадающем списке Files to Auto-Generate выберите Don't create any files (хотя по умолчанию Introjucer и создаёт в папке проекта файл Main.cpp с заготовкой кода, но поскольку мы уже сохранили в каталоге Source все исходные тексты нашей программы, нет необходимости в их автоматической генерации) и нажмите кнопку Create Project ( рис. 2.6).

Диалоговое окно New GUI Application

Рис. 2.6. Диалоговое окно New GUI Application

Будет создан новый проект Juce. На вкладке Project Settings будут отображены основные свойства проекта: Project Name (название проекта), Project Version (его версия), Project Type (тип проекта; в нашем случае это приложение с графическим интерфейсом пользователя – Application (GUI)), Bundle Identifier (строка – идентификатор приложения). Последняя необходима для однозначной характеристики создаваемого приложения в Mac OS X и iPhone. Строка должна соответствовать нотации Reverse-DNS и состоять из двух частей: названия компании разработчика (по умолчанию стоит com.yourcompany, которое следует заменить на реальное) и названия программы ( рис. 2.7). Следует помнить, что строка не должна содержать символа "*".

Проект Juce (Introjucer для Juce 1.53; добавлены исходные тексты программы)

увеличить изображение
Рис. 2.7. Проект Juce (Introjucer для Juce 1.53; добавлены исходные тексты программы)

В окне Introjucer выделите папку Source и щёлкните по ней правой кнопкой мыши. В контекстном меню выберите пункт Add Existing Files... В появившемся диалоговом окне Add Files to Jucer Project выберите файлы из папки Source (используйте клавишу SHIFT) и нажмите кнопку Open. На левой панели Introjucer будет отображён список файлов, включённых в проект. При необходимости исходные тексты программы можно просматривать и редактировать непосредственно в Introjucer ( рис. 2.8).

Просмотр исходных текстов программы в Introjucer

увеличить изображение
Рис. 2.8. Просмотр исходных текстов программы в Introjucer

Выберите в меню File > Save Project. В папке JuceWindow будет сохранён Xml-файл платформ-независимого проекта JuceWindow.jucer (в последующем его можно редактировать в Introjucer, выбрав в меню File > Open...), папка JuceLibraryCode, в которой содержится необходимый для работы приложения код (ранее мы его включили в исходные тексты нашей программы директивой #include "../JuceLibraryCode/JuceHeader.h"), а также папка Builds, которая содержит подпапки платформ-зависимых проектов; по умолчанию это iOS (сборка приложения для iPhone), MacOSX (сборка приложения для Mac OS X), MSVC6 (сборка приложения для Windows в среде Visual C++ 6), VisualStudio2005 (сборка приложения для Windows в среде Visual C++ 2005), VisualStudio2008 (сборка приложения для Windows в среде Visual C++ 2008), VisualStudio2010 (сборка приложения для Windows в среде Visual C++ 2010).

На момент написания книги Introjucer из Juce версии 1.53 не включал по умолчанию в проект экспортёр для автоматической генерации Linux Makefile.

Это можно исправить следующим образом: нажать на кнопку "Add/Remove Exporters..." в нижней части окна Introjucer (см. рис. 2.8) и выбрать в меню Create New Export Target > Create a new Linux Makefile Target.

Кроме того, можно отредактировать проект вручную, для чего открыть файл *.jucer с помощью любого текстового редактора (например, KWrite) и добавить в секцию <EXPORTFORMATS> следующую строку:

<LINUX_MAKE targetFolder="Builds/Linux" vstFolder="~/SDKs/vstsdk2.4" juceFolder="..\juce"/>

После добавления экспортёра тем или иным способом открытый в Introjucer платформ-независимый проект следует сохранить (выберите в меню File > Save Project). В папке Builds появится подпапка Linux, содержащая сгенерированный Makefile, а также другие платформ-зависимые проекты соответственно добавленным экспортёрам.

Если вы планируете осуществлять сборку программы для Windows только в одной среде (наример, Visual Studio 2008), вы можете удалить ненужные экспортёры, нажав кнопку "Add/Remove Exporters..." в нижней части окна Introjucer и выбрать в меню Remove Export target, после чего отметить платформ-зависимый проект, который вы не намерены исользовать.

После генерации платформ-зависимых проектов исполняемый файл программы компилируется согласно правилам среды разработки целевой операционной системы.

< Лекция 1 || Лекция 2: 12345 || Лекция 3 >