Вы находитесь на странице: 1из 53

Contents

Разработка кроссплатформенных мобильных приложений на языке C++


Разработка кроссплатформенных мобильных приложений на языке C++
Установка Visual C++ для разработки кроссплатформенных мобильных
приложений на языке C++
Установка Visual C++ для разработки кроссплатформенных мобильных
приложений на языке C++
Установка и настройка средств для разработки с помощью iOS
Создание приложения Android Native Activity
Создание приложения OpenGL ES в Android и iOS
Импорт проекта Xcode
Изменения в синхронизации между Xcode и Visual Studio
Примеры разработки кроссплатформенных мобильных приложений
Ссылка на страницу кроссплатформенных свойств C++
Ссылка на страницу кроссплатформенных свойств C++
Общие свойства проекта (Android C++)
Свойства отладчика Android
Свойства проекта Clang (Android C++)
Общие свойства проекта (Android C++ Makefile)
Свойства компоновщика Clang (Android C++)
Свойства NMake (Android C++)
minutes to read • Edit Online

Вы можете создавать собственные приложения на языке C++ для iOS, Android и Windows устройств,
используя кроссплатформенные инструменты, доступные в Visual Studio. Разработка мобильных
приложений на языке C++ — это рабочая нагрузка, доступная в программе установки Visual Studio. Она
устанавливает пакеты SDK и средства, необходимые для кроссплатформенной разработки общих библиотек
и собственных приложений. После ее установки язык C++ можно использовать для создания кода,
выполняющегося на устройствах и платформах с iOS и Android, Windows, Windows Store, и Xbox.

Написание кода для различных платформ может часто быть утомительным. Основные языки и средства
разработки для iOS, Android и Windows для каждой платформы различны. Однако все платформы
поддерживают написание кода на языке C++. Это общий знаменатель, который обеспечивает
использование основной части кода на разных платформах. Машинный код, написанный на языке C++,
может быть более производительным и устойчивым к реконструированию. Повторное использование кода
позволяет сэкономить время и силы при создании приложений для разных платформ.

Использование языка C++ для разработки кроссплатформенных мобильных приложений имеет несколько
преимуществ.

Простая установка. Установщик Visual Studio получает и устанавливает средства и пакеты SDK
сторонних разработчиков, необходимые для создания приложений или библиотек для Android и iOS.
Установка и настройка просты и в основном производятся автоматически.

Эффективная и привычная среда сборки. Шаблоны Visual Studio позволяют легко создавать
общие кроссплатформенные решения и проекты. Управлять свойствами для всех проектов можно с
помощью единого интерфейса. Редактируйте весь код в редакторе Visual Studio и используйте
встроенную кроссплатформенную функцию IntelliSense для автозавершения и выделения ошибок.

Унифицированный процесс отладки. Используйте средства отладки мирового класса в Visual


Studio для просмотра и пошагового C++ кода на всех платформах: устройства и Эмуляторы Android,
Симуляторы и устройства iOS, а также устройства и эмуляторы Windows или магазина Windows.

Получить инструменты
Разработка мобильных приложений с помощью C++ — это устанавливаемая рабочая нагрузка,
поставляемая с Visual Studio. Сведения о необходимых компонентах и инструкции по установке см. в статье
Установка Visual C++ для разработки кроссплатформенных мобильных приложений на языке C++. Для
создания кода для iOS также требуются компьютер Mac и учетная запись разработчика Apple iOS.
Дополнительные сведения см. в статье Установка и настройка средств для разработки с помощью iOS.

Быстрое начало работы


Если у вас есть опыт разработки для Android или iOS, мы можем предложить вам отличные материалы,
которые помогут вам приступить к работе. Visual Studio — это выразительная среда разработки с широкими
возможностями. Чтобы научиться использовать ее, попробуйте обратиться к руководству по началу работы
для разработчиков решений Android или руководству по началу работы для разработчиков решений iOS. В
этих статьях вы получите общие сведения о Visual Studio и ознакомитесь с понятиями, которые нужно знать
для разработки кроссплатформенных приложений для Windows и Windows Store. Чтобы приступить к
созданию первого кроссплатформенного приложения для iOS и Android, обратитесь к разделу Создание
приложения OpenGL ES в Android и iOS.
Рабочая нагрузка Visual C++ для разработки кроссплатформенных мобильных приложений включает
несколько шаблонов, которые помогут вам приступить к созданию приложений:

Нативное приложение (Android)

Создает полнофункциональное приложение C++ OpenGL в форме проекта Android Native Activity.

Приложение OpenGLES (Android, iOS)

Создает решение с набором проектов для приложения Android Native Activity и приложения iOS. Эти
приложения используют библиотеки для конкретных платформ, созданные с помощью общего кода
C++ OpenGL ES, с целью отрисовки одинакового вращающегося куба.
Общая библиотека (Android, iOS)

Создает решение с проектами, предназначенными для создания файлов динамической библиотеки


Android (SO) и статической библиотеки iOS (A) с помощью общего кода C++ в общем проекте.
Простое приложение (Android, Ant)

Создает проект приложения Hello, World для Android, в котором используется только исходный код
Java и система сборки Ant.
Простое приложение (Android, Gradle)

Создает проект приложения Hello, World для Android, в котором используется только исходный код
Java и система сборки Gradle.
Простая библиотека (Android, Ant)

Создает проект библиотеки Hello, World для Android, в котором используется только исходный код
Java и система сборки Ant.
Простая библиотека (Android, Gradle)

Создает проект библиотеки Hello, World для Android, в котором используется только исходный код
Java и система сборки Gradle.
Динамическая общая библиотека (Android)

Создает файл динамической библиотеки Android (SO) с помощью кода C++.

Приложение OpenGLES 2 (iOS)

Создает решение с набором проектов для сборки приложения iOS OpenGL ES 2. Приложение
использует библиотеку кода C++ OpenGL ES для рисования вращающегося куба в приложении iOS.
Это приложение может стать хорошей отправной точкой для ознакомления с импортом библиотек
C++ в приложение iOS.
Статическая библиотека (Android)

Создает проект для сборки статической библиотеки для Android. Приложение Android может быть
связано только с одной динамической библиотекой, но с любым количеством статических библиотек.

Статичная библиотека (iOS)

Создает проект для сборки статической библиотеки для iOS.

Проект Makefile (Android)

Создает оболочку проекта для ваших собственных проектов Android, использующих файл makefile.
Испытайте образец кода
Скачайте образцы, демонстрирующие создание библиотек общего кода, которые можно использовать в
приложениях Windows, Android и iOS. См. примеры создания готовых приложений для Android. Чтобы
приступить к работе, см. раздел Примеры разработки кроссплатформенных мобильных приложений.

См. также раздел


Установка Visual C++ для разработки кроссплатформенных мобильных приложений на языке C++
Установка и настройка средств для разработки с помощью iOS
Создание приложения Android Native Activity
Создание приложения OpenGL ES в Android и iOS
Примеры разработки кроссплатформенных мобильных приложений
minutes to read • Edit Online

В Visual Studio C++ можно использовать для создания классических приложений Windows, приложений
универсальная платформа Windows (UWP) и приложений Linux. Теперь вы можете создавать C++
приложения для Android и iOS. Разработка мобильных приложений с C++ рабочей нагрузкой — это
устанавливаемый набор компонентов в Visual Studio. Он включает в себя межплатформенные шаблоны
iOS, Android и UWP Visual Studio. Рабочая нагрузка устанавливает кросс-платформенные средства и
пакеты SDK, необходимые для быстрого начала работы. Вам не придется самостоятельно определять,
скачивать и настраивать их. С помощью этих средств в Visual Studio можно быстро создавать,
редактировать, отлаживать и тестировать кроссплатформенные проекты.

В этой статье описывается установка средств и программного обеспечения сторонних разработчиков,


необходимых для разработки кроссплатформенных приложений на языке C++с помощью Visual Studio.
Обзор см. на странице Кроссплатформенная разработка для мобильных устройств на Visual C++.

Требования
Требования для установки семейства продуктов Visual Studio см. в этой статье.

IMPORTANT
Если вы используете Windows 7 или Windows Server 2008 R2, вы можете писать код для классических
приложений для Windows, приложений и библиотек Android Native Activity, а также приложений и
библиотек кода для iOS, но не для Windows Store и приложений UWP.

Требования для установки семейства продуктов Visual Studio см. в этой статье.

IMPORTANT
Если вы используете Windows 7 или Windows Server 2008 R2, вы можете писать код для классических
приложений Windows, приложений и библиотек Android Native Activity, а также приложений и библиотек
кода для iOS, но не для приложений Windows Phone и UWP.

Применительно к созданию приложений для определенных платформ устройств существует несколько


дополнительных требований.

Эмуляторы Android x86, которые поставляются с пакетом SDK для Android, лучше всего работают на
компьютерах, которые могут использовать аппаратное ускорение, таких как Intel Hardware
Accelerated Execution Manager (HAXM). Дополнительные сведения см. в статье Аппаратное
ускорение для производительной работы эмулятора (Hyper-V и HAXM).

Создание кода для iOS требует наличия Apple ID, учетной записи программы для разработчиков iOS
и компьютера Mac, на котором может выполняться Xcode версии 10.2 или выше в OS X Mavericks
(версии 10.9) или более поздней. Ссылку на инструкции по установке см. в разделе Установка
инструментов для iOS.

Эмуляторам Windows Phone требуется компьютер, на котором можно запускать Hyper-V. Чтобы
установить и запустить эмуляторы, в Windows должен быть включен компонент Hyper-V.
Дополнительные сведения см. в разделе Системные требования эмулятора.
Получить инструменты
Рабочая нагрузка "Разработка мобильных приложений на языке C++" доступна в выпусках Visual Studio
Community, Professional и Enterprise. Чтобы получить Visual Studio, перейдите на страницу скачиваемых
файлов этого продукта. Средства разработки кроссплатформенных мобильных приложений доступны в
Visual Studio 2015 и последующих версиях.

Установка инструментов
Visual Studio Installer содержит рабочую нагрузку Разработка мобильных приложений на C++ . Эта
рабочая нагрузка устанавливает инструменты языка C++, шаблоны и компоненты, необходимые для
разработки Android и iOS в Visual Studio. Он включает наборы инструментов GCC и Clang, необходимые
для сборок и отладки Android. Рабочая нагрузка устанавливает пакет SDK для Android и компоненты для
взаимодействия с компьютером Mac для разработки с iOS. Он также устанавливает сторонние средства и
пакеты средств разработки программного обеспечения, необходимые для поддержки разработки
приложений iOS и Android. В основном это программное обеспечение с открытым исходным кодом,
необходимое для поддержки платформы Android.

Для построения C++ кода, ориентированного на платформу Android, необходимы нативный пакет
средств разработки для Android (NDK), Apache Ant и инструменты разработки C++ Android.

Эмулятор Google Android и Intel Hardware Accelerated Execution Manager (HAXM) являются
дополнительными, но рекомендуемыми компонентами. (Драйверы Intel HAXM работают только на
процессорах Intel и несовместимы с некоторыми виртуальными машинами, включая Hyper-V.) Вы
можете разрабатывать и выполнять отладку непосредственно на устройстве Android, но для
отладки часто бывает проще использовать эмулятор на рабочем столе.

Инструменты разработки C++ iOS необходимы для создания кода C++, ориентированного на
платформу iOS.

NOTE
Если вы используете Visual Studio 2015, см. статью Установка Visual C++ для разработки кроссплатформенных
мобильных приложений на языке C++.

Установка рабочей нагрузки "Разработка мобильных приложений на языке C++"


1. Запустите Visual Studio Installer Пуск.
2. Если вы установили Visual Studio, нажмите кнопку Изменить, чтобы изменить установленную
версию. В противном случае выберите Установить, чтобы установить Visual Studio.

3. Выберите вкладку Рабочие нагрузки, прокрутите вниз, а затем в установщике Visual Studio
Installer выберите рабочую нагрузку Разработка мобильных приложений на языке C++ .
При выборе этой рабочей нагрузки также выбираются другие необходимые компоненты для
разработки на языке C++. Ви можете также установить другие рабочие нагрузки и отдельные
компоненты. Чтобы создать кроссплатформенный код, который также ориентирован на
приложения UWP, выберите рабочую нагрузку Разработка приложений для универсальной
платформы Windows .

4. В области Сведения об установке разверните узел Разработка мобильных приложений на


языке C++ . В разделе Необязательное можно выбрать дополнительные версии NDK, эмулятор
Google Android Emulator, Intel Hardware Accelerated Execution Manager и средство ускорения сборки
IncrediBuild.
5. По умолчанию один или несколько компонентов программы установки пакетов SDK для Android
включены в рабочей нагрузке. Доступны также дополнительные версии пакета SDK для Android.
Чтобы добавить их к установке, перейдите на вкладку Отдельные компоненты, а затем
прокрутите вниз до раздела Пакеты SDK, библиотеки и платформы и выберите нужные.

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

После завершения установки закройте установщик и перезагрузите компьютер. Некоторые


действия по настройке сторонних компонентов не вступают в силу до перезагрузки компьютера.

IMPORTANT
Перезагрузка необходима для того, чтобы проверить, все ли установлено правильно.

7. Запустите Visual Studio.

Install tools for iOS


Visual Studio можно использовать для изменения, отладки и развертывания кода iOS в симуляторе iOS.
Или на устройство iOS. Из-за ограничений лицензирования код должен быть создан удаленно на
компьютере Mac. Чтобы создать и запустить приложения iOS с помощью Visual Studio, сначала настройте
и настройте удаленный агент на компьютере Mac. Подробные инструкции по установке, а также сведения
о необходимых компонентах и параметрах настройки см. в статье Установка и настройка средств для
разработки с помощью iOS. Если вы не выполняете сборку для iOS, этот шаг можно пропустить.

Установка или обновление зависимостей вручную


Не нужно устанавливать все сторонние зависимости при установке разработки мобильных
приложений с C++ рабочей нагрузкой (или в Visual Studio 2015, вариант разработки Visual C++ Mobile).
Установите их позже, выполнив действия, описанные в статье Установка средств. Установщик Visual Studio
Installer регулярно обновляется, что позволяет устанавливать последние компоненты сторонних
разработчиков. Используйте его для установки обновленных пакетов SDK и Ндкс. Их также можно
установить или обновить отдельно от Visual Studio.

Вы можете снова запустить приложение диспетчера пакетов SDK в каталоге пакет SDK для Android, чтобы
обновить пакет SDK. И, чтобы установить дополнительные средства и дополнительные уровни API. Если
запустить диспетчер пакетов SDK, не используя команду Запуск от имени администратора ,
обновления могут не установиться. Если при сборке приложений Android возникают проблемы, проверьте
наличие обновлений для установленных пакетов SDK в диспетчере пакетов SDK.

Чтобы использовать некоторые эмуляторы пакет SDK для Android, может потребоваться настроить
аппаратное ускорение. Дополнительные сведения см. в статье Аппаратное ускорение для
производительной работы эмулятора (Hyper-V и HAXM).

В большинстве случаев Visual Studio может обнаружить конфигурации для установленного стороннего
программного обеспечения. Пути установки сохраняются во внутренних переменных среды. Вы можете
переопределить пути по умолчанию для этих средств разработки кроссплатформенных приложений в
интегрированной среде разработки Visual Studio.

Задание путей для средств сторонних разработчиков


1. В строке меню Visual Studio выберите Сервис > Параметры.
2. В диалоговом окне Параметры выберите Кроссплатформенный > C++ > Android .
3. Чтобы изменить путь, используемый средством, установите флажок рядом с ним и измените путь к
папке в текстовом поле. Кроме того, можно нажать кнопку обзора ( ... ), чтобы открыть диалоговое
окно Выберите местоположение и выбрать папку.

4. Чтобы сохранить настраиваемое расположение средства, нажмите кнопку ОК .

См. также раздел


Установка и настройка средств для разработки с помощью iOS
Visual C++ для разработки кросс-платформенных мобильных приложений
minutes to read • Edit Online

Вы можете использовать Visual Studio с кросс-платформенными средствами для разработки


мобильных приложений на языке C++ для редактирования, отладки и развертывания кода iOS на
симуляторе или устройстве iOS. Но, из-за лицензионных ограничений, код нужно создавать и выполнять
на компьютере Mac удаленно. Для сборки и запуска приложений iOS с помощью Visual Studio
необходимо установить и настроить удаленный агент vcremoteна компьютере Mac. Удаленный агент
обрабатывает запросы на сборку, поступающие из Visual Studio, и запускает приложение на устройстве
iOS, подключенном к компьютеру Mac, или в эмуляторе iOS на компьютере Mac.

NOTE
Сведения об использовании размещенных в облаке служб Mac вместо компьютера Mac см. в разделе Настройка
подключения Visual Studio к размещенному в облаке компьютеру Mac. Приведенные инструкции предназначены
для разработки с помощью инструментов Visual Studio для Apache Cordova. Чтобы использовать инструкции для
сборки с помощью С ++, замените vcremote на remotebuild .

После установки инструментов для сборки с помощью iOS, обратитесь к этой статье, чтобы получить
дополнительные сведения о способах быстрой настройки и обновления удаленного агента для
разработки iOS в Visual Studio и на вашем Mac.

предварительные требования
Для установки и использования удаленного агента с целью разработки кода для iOS необходимы
следующие компоненты:

Компьютер Mac с операционной системой macOS Mojave (версии 10.14) или более поздней версии.

Идентификатор Apple ID.

Действующая учетная запись разработчика Apple.

Вы можете получить бесплатную учетную запись, которая позволяет загружать


неопубликованные приложения на устройстве с iOS для тестирования, но не для распространения.

Xcode версии 10.2.1 или более поздней.


Xcode можно скачать в магазине App Store.
Средства командной строки Xcode

Чтобы установить средства командной строки Xcode, откройте приложение "Терминал" на


компьютере Mac и введите следующую команду:

xcode-select --install

Учетная запись Apple ID, настроенная в Xcode, как удостоверение для подписи приложений.

Чтобы просмотреть или задать удостоверение подписывания в Xcode, откройте меню Xcode и
выберите пункт Preferences (Настройки). Щелкните Accounts (Учетные записи), выберите свой
идентификатор Apple ID, а затем нажмите кнопку View Details (Просмотреть подробности). См.
подробные инструкции в разделе Добавление вашей учетной записи Apple ID.
Подробные сведения о требованиях для подписывания см. в разделе Что такое подписывание
приложений.

Профиль подготовки, настроенный в Xcode для вашего устройства, если для разработки вы
используете устройство с iOS.

Xcode обеспечивает автоматическое подписывание, создавая сертификаты для подписи при


необходимости. Подробные сведения об автоматическом подписывании Xcode см. в разделе
Автоматическое подписывание.

Если вы предпочитаете ручное подписывание, необходимо создать профиль подготовки для


вашего приложения. Подробные сведения о создании профилей подготовки см. в статье Создание
профилей подготовки для разработки.

Node.js 12.14.1 и npm версии 6.13.4


Установите версию Node.js 12.14.1 на своем компьютере Mac. Если вы установите пакет Node.js, он
должен сопровождаться npm версии 6.13.4. Другие версии Node.js и npm могут не поддерживать
некоторые модули, используемые в удаленном агенте vcremote , что может привести к сбою
установки vcremote . Рекомендуется установить Node.js с помощью диспетчера пакетов, например
Node Version Manager. Старайтесь не использовать команду sudo для установки Node.js, так как
некоторые модули могут не устанавливаться при использовании sudo .

Установка удаленного агента для iOS


При установке мобильной разработки с рабочей нагрузкой C++, Visual Studio может взаимодействовать с
удаленным агентом vcremote, запущенным на вашем Mac для передачи файлов, сборки и запуска вашего
iOS приложения, а также отправки команд отладки.
Перед установкой удаленного агента убедитесь, что вы выполнили Предпосылки и шаги установки в
разделе Установка Visual C++ для разработки кроссплатформенных мобильных приложений на
языке C++.

Скачивание и установка удаленного агента


В приложении терминала на компьютере Mac убедитесь, что используемая версия Node.js является
обязательной версией 12.14.1. Чтобы проверить версию, выполните команду:

node -v

Если это неправильная версия, возможно, потребуется выполнить инструкции по установке


Node.js, приведенные в предварительных требованиях. Затем перезапустите Node.js.
Убедившись, что используется необходимая версия Node.js, выполните следующую команду, чтобы
установить vcremote в этой версии Node.js:

npm install -g --unsafe-perm vcremote

Рекомендуется применять глобальный параметр установки ( -g ), но он не является обязательным.


Если вы не используете параметр глобальной установки, vcremote устанавливается по текущему
активному пути в приложении терминала.

В ходе установки будет установлен vcremote , а на компьютере Mac будет активирован режим
разработчика. Также будут установлены Homebrew и два пакета npm, vcremote-lib и
vcremote-utils . После завершения установки можно игнорировать любые предупреждения о
пропущенных необязательных зависимостях.
NOTE
Для установки Homebrew требуется доступ sudo (права администратора). Если вам нужно установить
vcremote без доступа "sudo", вы можете установить Homebrew вручную в папку "usr/local" и добавить
папку "bin" в ваш путь. Дополнительную информацию см. в документации по Homebrew. Чтобы
включить режим разработчика вручную, введите в приложении "Терминал" следующую команду :
DevToolsSecurity -enable

Если Visual Studio обновляется до новой версии, то также необходимо обновить удаленный агент до
текущей версии. Чтобы обновить удаленный агент , еще раз выполните инструкции по его скачиванию и
установке.

Запуск удаленного агента


Чтобы среда Visual Studio могла выполнять сборку и запуск кода iOS, удаленный агент должен быть
запущен. Для обмена данными с удаленным агентом среда Visual Studio должна быть сопряжена с ним.
По умолчанию удаленный агент выполняется в режиме защищенного соединения, что требует ввода
ПИН-кода для его сопряжения с Visual Studio.

Запуск удаленного агента


В приложении "Терминал" на компьютере Mac введите следующую команду:

vcremote

Эта команда запускает удаленный агент со стандартным каталогом сборки ~/vcremote .


Дополнительные параметры конфигурации см. в разделе Configure the remote agent on the Mac.

При первом запуске агента, и каждый раз, когда вы создаете новый сертификат клиента, вам
предоставляется необходимая информация для настройки агента в Visual Studio, включая имя узла, порт
и PIN-код.

Если вы намерены настроить удаленный агент в Visual Studio, используя имя узла, выполните проверку
связи с компьютером Mac из Windows, используя это имя узла, чтобы убедиться в том, что он доступен. В
противном случае может потребоваться использовать вместо имени узла IP-адрес.
Созданный ПИН-код является одноразовым и действителен в течение ограниченного срока. Если не
выполнить сопряжение Visual Studio с удаленным агентом до истечения его срока действия, потребуется
создать новый ПИН-код. Для получения дополнительной информации см. Generate a new security PIN.

Удаленный агент можно использовать в небезопасном режиме. В небезопасном режиме сопряжение


удаленного агента с Visual Studio можно выполнить без ПИН-кода.
Отключение режима защищенного соединения
Чтобы отключить режим защищенного соединения в vcremote , введите эту команду в приложение
"Терминал" на компьютере Mac:
vcremote --secure false

Включение режима защищенного соединения


Чтобы включить режим защищенного соединения, введите следующую команду:

vcremote --secure true

После запуска удаленного агента его можно использовать из Visual Studio, пока он не будет остановлен.
Остановка удаленного агента
В окне приложения "Терминал", в котором выполняется vcremote , введите Control +C .

Настройка удаленного агента в Visual Studio


Чтобы подключиться к удаленному агенту из Visual Studio, нужно задать удаленную конфигурацию в
параметрах Visual Studio.

Настройка удаленного агента из Visual Studio


1. Если агент еще не запущен на компьютере Mac, выполните инструкции в разделе Запуск
удаленного агента. Чтобы среда Visual Studio могла успешно выполнить сопряжение, подключение
и сборку проекта, на компьютере Mac должен быть запущен vcremote .

2. На компьютере Mac получите имя узла или IP-адрес компьютера Mac.


IP-адрес можно получить с помощью команды ifconfig в окне "Терминал". Используйте адрес inet,
указанный под активным сетевым интерфейсом.

3. В строке меню Visual Studio выберите Сервис, Параметры.


4. В диалоговом окне Параметры разверните узлы Кроссплатформенный, C++ и iOS .
5. В полях Имя узла и Порт введите значения, полученные при запуске удаленного агента. Именем
узла может быть DNS-имя или IP-адрес компьютера Mac. Порт по умолчанию — 3030.

NOTE
Если не удается проверить связь с компьютером Mac, используя имя узла, возможно, потребуется
использовать IP-адрес.

6. Если вы используете удаленный агент в режиме защищенного соединения по умолчанию,


установите флажок Безопасный , а затем введите ПИН-код, предоставленный удаленным
агентом, в поле ПИН- код . Если вы используете удаленный агент в небезопасном режиме, снимите
флажок Безопасный и оставьте поле ПИН- код пустым.

7. Выберите Связать , чтобы активировать сопряжение.


Сопряжение сохраняется до тех пор, пока не изменится имя узла или порт. Если вы изменили имя
узла или порт в диалоговом окне Параметры , для отмены изменения нажмите кнопку
Восстановить , чтобы восстановить прежнее сопряжение.

Если выполнить сопряжение не удается, проверьте, запущен ли удаленный агент , выполнив


инструкции в разделе Start the remote agent. Если с момента создания ПИН-кода удаленным
агентом прошло слишком много времени, выполните инструкции, приведенные в разделе Generate
a new security PIN , на компьютере Mac и повторите попытку. Если вы используете имя узла
компьютера Mac, попробуйте вместо этого указать IP-адрес в поле Имя узла .

8. Обновите имя папки в поле Удаленный корневой элемент , указав папку, используемую
удаленным агентом, в домашнем каталоге ( ~ ) на компьютере Mac. По умолчанию удаленный
агент использует /Users/<username>/vcremote в качестве удаленного корневого элемента.

9. Чтобы сохранить параметры удаленного сопряжения, нажмите кнопку ОК .


При каждом использовании Visual Studio применяется одна и та же информация для подключения к
удаленному агенту на компьютере Mac. Повторно сопрягать Visual Studio с удаленным агентом требуется
только в том случае, если вы создали новый сертификат безопасности на компьютере Mac либо если
изменилось его имя узла или IP-адрес.

Generate a new security PIN


При первоначальном запуске удаленного агента созданный ПИН-код действует в течение ограниченного
времени (по умолчанию 10 минут ). Если не выполнить сопряжение Visual Studio с удаленным агентом до
истечения этого срока, потребуется создать новый ПИН-код.

Создание ПИН -кода


1. Остановите агент (или откройте второе окно приложения "Терминал" на компьютере Mac и
используйте его для ввода команды).

2. В приложении "Терминал" введите следующую команду:


vcremote generateClientCert

Удаленный агент создаст новый временный ПИН-код. Для сопряжения Visual Studio с помощью
нового ПИН-кода повторно выполните инструкции, приведенные в разделе Настройка удаленного
агента в Visual Studio.
Создание нового сертификата сервера
В целях безопасности сертификаты серверов, которые сопрягают Visual Studio с удаленным агентом,
привязаны к имени узла или IP-адресу компьютера Mac. Если эти значения меняются, вам потребуется
создать новый сертификат сервера, а затем изменить конфигурацию Visual Studio, используя новые
значения.

Создание сертификата сервера


1. Остановите агент vcremote .
2. В приложении "Терминал" введите следующую команду:
vcremote resetServerCert

3. При появлении запроса на подтверждение введите Y .


4. В приложении "Терминал" введите следующую команду:
vcremote generateClientCert

Эта команда создает новый временный ПИН-код.

5. Для сопряжения Visual Studio с помощью нового ПИН-кода повторно выполните инструкции,
приведенные в разделе Настройка удаленного агента в Visual Studio.

Configure the remote agent on the Mac


Удаленный агент можно настроить, используя различные параметры командной строки. Например,
можно задать порт для прослушивания запросов на построение и указать максимальное количество
сборок, которые нужно поддерживать в файловой системе. По умолчанию это значение равно 10.
Удаленный агент будет удалять сборки, которые выходят за максимальное число, при завершении
работы.

Настройка удаленного агента


Чтобы просмотреть полный список команд удаленного агента, в приложении "Терминал" введите
следующую команду:

vcremote --help

Чтобы отключить безопасный режим и включить обычные подключения на основе HTTP, введите
следующую команду:

vcremote --secure false

В этом случае снимите флажок Безопасный и оставьте поле ПИН- код пустым при настройке
агента в Visual Studio.

Чтобы указать расположение для файлов удаленного агента, введите следующую команду:

vcremote --serverDir directory_path

Здесь путь_к_каталогу — это расположение на компьютере Mac, где будут храниться файлы
журналов, сборки и сертификаты серверов. По умолчанию, это расположение
/Users/<username>/vcremote . В этой папке сборки упорядочиваются по номеру сборки.

Для использования фонового процесса с целью записи stdout и stderr в файл server.log введите
следующую команду:

vcremote > server.log 2>&1 &


Файл server.log может помочь при устранении проблем со сборками.

Для запуска агента с помощью файла конфигурации, а не параметров командной строки, введите
следующую команду:

vcremote --config config_file_path

Здесь путь_к_файлу_конфигурации — это путь к файлу конфигурации в формате JSON.


Параметры запуска и их значения не должны содержать дефисы.

Устранение неполадок удаленного агента


Отладка на устройстве с iOS
Если отладка на устройстве с iOS не работает , то могут возникнуть проблемы при использовании
средства ideviceinstaller, которое используется для взаимодействия с устройством с iOS. Этот инструмент
обычно устанавливается с Homebrew во время установки vcremote . Выполните следующие шаги в
качестве обходного решения.

Откройте приложение "Терминал" и обновите ideviceinstaller и его зависимости, выполнив следующие


команды по порядку:

1. Убедитесь, что Homebrew обновлен


brew update

2. Удалите libimobiledevice и usbmuxd

brew uninstall --ignore-dependencies libimobiledevice

brew uninstall --ignore-dependencies usbmuxd

3. Установите последнюю версию libimobiledevice и usbmuxd

brew install --HEAD usbmuxd

brew unlink usbmuxd

brew link usbmuxd

brew install --HEAD libimobiledevice

4. Удалите и переустановите ideviceinstaller

brew uninstall ideviceinstaller

brew install ideviceinstaller

Убедитесь, что ideviceinstaller может взаимодействовать с устройством, перечислив приложения,


установленные на устройстве:

ideviceinstaller -l

Если ideviceinstaller сообщает , что доступа к папке /var/db/lockdown нет , измените права папки:

sudo chmod 777 /var/db/lockdown

Затем еще раз проверьте, может ли ideviceinstaller взаимодействовать с устройством.

См. также раздел


Установка Visual C++ для разработки кроссплатформенных мобильных приложений на языке C++
minutes to read • Edit Online

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


языке C++ Visual Studio можно использовать для создания полнофункциональных приложений Android
Native Activity. Пакет Android Native Development Kit (NDK) — это набор средств, с помощью которых можно
реализовывать большинство возможностей приложения Android, используя чистый код C или C++. Для
обеспечения взаимодействия кода C или C++ с Android используется определенный код Java JNI,
выступающий в роли связующего. В Android NDK появилась возможность создавать приложения Native
Activity с помощью API Android уровня 9. Код Native Activity популярен для создания игровых приложений и
приложений с интенсивным использованием графики на основе Unreal Engine или OpenGL. В этом
пошаговом руководстве показано создание простого приложения Native Activity, в котором используется
OpenGL. В дополнительных разделах последовательно рассматриваются такие этапы жизненного цикла
разработки, как редактирование, сборка, отладка и развертывание кода Native Activity.

Требования
Прежде чем создавать приложение Android Native Activity, необходимо убедиться, что вы выполнили все
системные требования и установили рабочую нагрузку Разработка мобильных приложений на
языке C++ в Visual Studio. Дополнительные сведения см. в статье Установка Visual C++ для разработки
кроссплатформенных мобильных приложений на языке C++. Убедитесь, что необходимые сторонние
инструменты и пакеты SDK включены в установку, а также что установлен эмулятор Android.

Создание проекта Native Activity


В этом руководстве вы сначала создадите новый проект Android Native Activity, а затем создадите и
запустите приложение по умолчанию в эмуляторе Android.

1. В Visual Studio выберите файл > Новый > проект .


2. В диалоговом окне Новый проект в разделе шаблонывыберите C++ Visual > Перекрестная
платформа , а затем выберите шаблон приложение для работы с машинным кодом (Android) .

3. Присвойте приложению имя, например MyAndroidApp, а затем нажмите OK .


Visual Studio создаст новое решение и откроет обозреватель решений.

1. В Visual Studio выберите файл > Новый > проект .


2. В диалоговом окне Создание нового проекта выберите шаблон Приложение Native-Activity
(Android) , а затем нажмите Далее .
3. В диалоговом окне Настроить новый проект введите имя, например MyAndroidApp в разделе Имя
проекта , а затем выберите Создать.

Visual Studio создаст новое решение и откроет обозреватель решений.


В новое решение приложения Android Native Activity входят два проекта.

MyAndroidApp.NativeActivity содержит ссылки и связующий код для запуска приложения как


приложения Native Activity на Android. Реализация точек входа из связующего кода находится в
файле main.cpp. Предкомпилированные заголовки находятся в файле pch.h. Этот проект приложения
Native Activity компилируется в общую библиотеку (файл SO), которая передается в проект упаковки.
MyAndroidApp.Packaging создает файл с расширением .apk для развертывания на устройстве или в
эмуляторе Android. Он содержит ресурсы и файл AndroidManifest.xml, в котором задаются свойства
манифеста. В него также входит файл build.xml, управляющий процессом сборки Ant. По умолчанию
он задан как начальный проект , который можно развернуть и запустить непосредственно из Visual
Studio.

Создание и запуск приложения Android Native Activity по


умолчанию
Разработайте и запустите приложение, созданное шаблоном, чтобы проверить установку и настройку. Для
первоначального теста запустите приложение в одном из профилей устройств, установленных эмулятором
Android. Если вы предпочитаете тестировать приложение на другой платформе, загрузите целевой
эмулятор или подключите устройство к компьютеру.

Сборка и запуск приложения Native Activity по умолчанию


1. Выберите пункт x86 из раскрывающегося списка Платформы решения , если он еще не выбран.

Если список Платформы решения не отображается, щелкните пункт Платформы решения из


раскрывающегося списка Добавить или удалить кнопки и выберите свою платформу.

2. В строке меню последовательно выберите Сборка > Собрать решение .


В окне "Выходные данные" отобразятся выходные данные процесса сборки для двух проектов в
решении.

3. Выберите один из профилей эмулятора Android в качестве цели развертывания.


Если вы установили другие эмуляторы или подключили устройство Android, то можете выбрать их в
раскрывающемся списке платформы развертывания.

4. Нажмите F5 , чтобы начать отладку, или Shift +F5 для запуска без отладки.
Вот как выглядит приложение по умолчанию в эмуляторе Android.
Visual Studio запускает эмулятор, который за несколько секунд загружает и развертывает код. После
запуска приложения можно задать точки останова и использовать отладчик для проверки кода,
языковых стандартов и контрольных значений.

5. Для остановки отладки нажмите SHIFT +F5 .


Эмулятор является отдельным процессом, который продолжает выполняться. Вы можете изменять,
компилировать и развертывать код несколько раз в одном эмуляторе.
minutes to read • Edit Online

Вы можете создавать решения Visual Studio и проекты для приложений iOS и Android с общим кодом. В
этой статье описывается комбинированный шаблон решения. Он создает приложение iOS и приложение
Android Native Activity. Приложения имеют общий код C++, который использует технологию OpenGL ES для
отображения одинакового анимированного вращающегося куба на обеих платформах. OpenGL ES (OpenGL
для встраиваемых систем или ГЛЕС ) — это API двухмерной и трехмерной графики. Он поддерживается на
многих мобильных устройствах.

Требования
Соблюдайте все требования к системе для создания приложения OpenGL ES для iOS и Android. Установите
рабочую нагрузку разработки мобильных приложений на языке C++ в Visual Studio Installer, если еще не
сделали этого. Для получения шаблонов OpenGL ES, а также для создания приложения для iOS, включите
дополнительные инструменты разработки C++ для iOS. Чтобы выполнить сборку для Android, установите
C++ средства разработки Android и необходимые сторонние инструменты: Android NDK, Apache Ant и
Google Android Emulator.
Для повышения производительности эмулятора на платформах Intel один из вариантов — установить Intel
Hardware Accelerated Execution Manager (HAXM). Подробные инструкции см. в статье Установка кросс-
платформенной разработки C++мобильных приложений с помощью .

Для сборки и тестирования приложения iOS потребуется компьютер Mac. Настройте его в соответствии с
инструкциями по установке. Дополнительные сведения о настройке компьютера для разработки
приложений iOS см. в разделе Установка и настройка средств для разработки с помощью iOS.

Создание проекта приложения OpenGLES


В этом учебнике вы сначала создадите проект приложения OpenGL ES, а затем соберете и запустите
приложение по умолчанию в эмуляторе Android. Затем выполните сборку приложения для iOS и запустите
его на устройстве iOS.

1. В Visual Studio выберите файл > Новый > проект .


2. В диалоговом окне Новый проект в разделе шаблонывыберите C++ Visual > Перекрестная
платформа , а затем выберите шаблон приложение OpenGL (Android, IOS) .

3. Присвойте приложению имя, например MyOpenGLESApp, а затем нажмите кнопку ОК.


Visual Studio создаст новое решение и откроет обозреватель решений.

1. В Visual Studio выберите файл > Новый > проект .


2. В диалоговом окне Создание нового проекта выберите шаблон Приложение OpenGLES
(Android, iOS) и нажмите кнопку Далее .
3. В диалоговом окне Настройка нового проекта введите имя в поле Имя проекта, например
MyOpenGLESApp , и нажмите Создать.
Visual Studio создаст новое решение и откроет обозреватель решений.

Новое решение приложения OpenGL ES включает в себя три проекта библиотек и два проекта
приложений. Папка библиотеки содержит проект общего кода. И два проекта для конкретной платформы,
которые ссылаются на общий код:

содержит ссылки и связующий код, который реализует


MyOpenGLESApp.Android.NativeActivity
приложение в качестве Native Activity для Android. Точки входа из связующего кода реализованы в
файле main.cpp, который включает общий код из MyOpenGLESApp.Shared . Предкомпилированные
заголовки находятся в файле pch.h. Этот проект приложения Native Activity компилируется в файл
общей библиотеки (с расширением .so), который передается в проект MyOpenGLESApp.Android.Packaging
.
создает файл статической библиотеки iOS (с расширением .a),
MyOpenGLESApp.iOS.StaticLibrary
который содержит общий код из MyOpenGLESApp.Shared . Файл связан с приложением, созданным
проектом MyOpenGLESApp.iOS.Application .

содержит общий код, работающий на разных платформах. В нем используются


MyOpenGLESApp.Shared
макросы препроцессора для условной компиляции кода под конкретную платформу. Общий код
передается по ссылке на проект в MyOpenGLESApp.Android.NativeActivity и
MyOpenGLESApp.iOS.StaticLibrary .
Решение включает два проекта для создания приложений для платформ Android и iOS.

создает файл с расширением .apk для развертывания на устройстве


MyOpenGLESApp.Android.Packaging
или в эмуляторе Android. Этот файл содержит ресурсы и файл AndroidManifest.xml, в котором
задаются свойства манифеста. В него также входит файл build.xml, управляющий процессом сборки
Ant. По умолчанию он задан как начальный проект , который можно развернуть и запустить
непосредственно из Visual Studio.

MyOpenGLESApp.iOS.Application содержит ресурсы и код прилипания Objective-C для создания


приложения iOS, которое ссылается на код статической библиотеки C++ в
MyOpenGLESApp.iOS.StaticLibrary . Этот проект создает пакет сборки, который передается на
компьютер Mac средой Visual Studio и удаленным агентом. При сборке этого проекта среда Visual
Studio отправляет файлы и команды для сборки и развертывания приложения на компьютере Mac.

Сборка и запуск приложения Android


Решение, созданное с помощью шаблона, задает приложение Android в качестве проекта по умолчанию. Вы
можете выполнить сборку и запуск этого приложения, чтобы проверить его установку и настройку. Для
первоначального теста запустите приложение в одном из профилей устройств, установленных эмулятором
для Android. Если вы предпочитаете протестировать приложение на другом целевом объекте, можно
загрузить целевой эмулятор. Или подключите устройство к компьютеру.

Сборка и запуск приложения Android Native Activity


1. Выберите пункт x86 в раскрывающемся списке Платформы решения, если он еще не выбран.

Используйте 32-разрядную платформу (x86) в качестве целевой для эмулятора. Чтобы выполнить
сборку для устройства, выберите платформу решения, соответствующую процессору устройства.
Если список Платформы решения не отображается, щелкните пункт Платформы решения в
списке Добавить или удалить кнопки и выберите свою платформу.

2. В обозревателе решений откройте контекстное меню для проекта


MyOpenGLESApp.Android.Packaging и выберите пункт Собрать.

В окне "Выходные данные" отображаются выходные данные процесса сборки для общей библиотеки
Android и приложения Android.
3. Выберите один из профилей эмулируемого устройства Android в качестве цели развертывания.

Возможно, вы установили другие эмуляторы или подключили устройство Android. Их можно выбрать
в раскрывающемся списке цель развертывания. Для запуска приложения платформа решения сборки
должна совпадать с платформой целевого устройства.

4. Нажмите F5 , чтобы начать отладку, или Shift +F5 для запуска без отладки.
Visual Studio запускает эмулятор, который за несколько секунд загружает и развертывает код. Так
выглядит экран приложения в эмуляторе Android:

После запуска приложения можно задать точки останова и использовать отладчик для проверки
кода, языковых стандартов и контрольных значений.

5. Для остановки отладки нажмите SHIFT +F5 .


Эмулятор является отдельным процессом, который продолжает выполняться. Вы можете изменять,
компилировать и развертывать код несколько раз в одном эмуляторе. Ваше приложение находится в
коллекции приложений эмулятора, откуда его можно запускать напрямую.

Созданные проекты приложения и библиотеки для собственных действий Android помещают C++
общий код в динамическую библиотеку. Он включает в себя "связующий" код для взаимодействия с
платформой Android. Большая часть кода приложения находится в библиотеке. Манифест , ресурсы и
инструкции по сборке находятся в проекте упаковки. Общий код вызывается из main.cpp в проекте
NativeActivity. Более подробную информацию о программировании Android Native Activity см. на
странице Concepts (Основные понятия) в Android Developer NDK.

Visual Studio создает проекты собственных действий Android с помощью пакета NDK для Android. В
нем используется Clang в качестве набора инструментов платформы. Visual Studio сопоставляет
свойства проекта с командами Compile, Link и Debug на целевой платформе. Чтобы получить
подробные сведения, откройте диалоговое окно Страницы свойств для проекта
MyOpenGLESApp.Android.NativeActivity. Более подробную информацию о параметрах командной
строки см. в руководстве пользователя компилятора Clang.

Сборка и запуск приложения для iOS на устройстве iOS


Вы создаете и редактируете проект приложения iOS в Visual Studio. Из-за ограничений лицензирования она
должна быть построена и развернута с компьютера Mac. Visual Studio взаимодействует с удаленным
агентом, запущенным на компьютере Mac, для передачи файлов проекта и выполнения команд сборки,
развертывания и отладки. Перед сборкой приложения iOS настройте компьютер Mac и среду Visual Studio
для обмена данными. Подробные инструкции см. в разделе Установка и настройка средств для разработки
с помощью iOS. Запустите удаленный агент на компьютере Mac и свяжите его с Visual Studio. Затем можно
создать и запустить приложение iOS для проверки установки и установки.

Чтобы развернуть приложение на устройстве iOS, сначала настройте автоматическое подписывание в


Xcode. При автоматическом подписывании создается профиль подготовки для подписания сборки
приложения.

Настройка автоматического подписывания в Xcode


1. Установите Xcode на компьютер Mac, если его у вас еще нет.
2. Откройте приложение Xcode на компьютере Mac.
3. Создайте проект Xcode для приложения с одним представлением. При создании проекта
заполните обязательные поля. Значения могут быть произвольными, так как проект используется
только для создания профиля подготовки, с помощью которого в дальнейшем будет подписываться
сборка приложения.

4. Добавьте свой идентификатор Apple ID, зарегистрированной в учетной записи программы для
разработчиков Apple, в Xcode. Ваш идентификатор Apple ID используется как удостоверение
подписывания приложений. Чтобы добавить удостоверение подписывания в Xcode, откройте меню
Xcode и выберите пункт Preferences (Настройки). Выберите Accounts (Учетные записи) и нажмите
кнопку добавления (+), чтобы добавить свой идентификатор Apple ID. См. подробные инструкции в
статье о добавлении учетной записи Apple ID.

5. В разделе общих параметров в проекте Xcode измените значение идентификатора пакета на


com.<NameOfVSProject> , где <NameOfVSProject> — это имя созданного вами проекта решения Visual
Studio. Например, если в Visual Studio вы создали проект с именем MyOpenGLESApp , установите для
идентификатора пакета значение com.MyOpenGLESApp .
6. Чтобы включить автоматическое подписывание, установите флажок Automatically manage signing
(Автоматическое управление подписыванием)**.

7. Выберите имя команды для идентификатора Apple ID, которое вы задали для команды разработки.
Сборка и запуск приложения для iOS на устройстве iOS
1. Запустите удаленный агент на компьютере Mac и проверьте, сопряжена ли среда Visual Studio с
удаленным агентом. Чтобы запустить удаленный агент , откройте окно приложения "Терминал" и
введите vcremote . Более подробную информацию см. в разделе Настройка удаленного агента в
Visual Studio.

2. Подключите устройство iOS к компьютеру Mac. При первом подключении устройства к компьютеру
поступает оповещение с вопросом, является ли компьютер доверенным для получения доступа к
устройству. Укажите, что компьютер Mac является доверенным для устройства.

3. В Visual Studio в раскрывающемся списке Платформы решения выберите платформу решения,


соответствующую процессору вашего устройства, если такая платформа еще не выбрана. В этом
примере используется процессор ARM64 .

4. В обозревателе решений откройте контекстное меню проекта MyOpenGLESApp.iOS.Application и


выберите Выгрузить проект , чтобы выгрузить проект.

5. Снова откройте контекстное меню выгруженного проекта MyOpenGLESApp.iOS.Application и


выберите Edit project.pbxproj (Изменить project.pbxproj), чтобы изменить файл проекта. В файле
найдите атрибут buildSettings и добавьте DEVELOPMENT_TEAM , используя свой
project.pbxproj
идентификатор Apple Team ID. На следующем снимке экрана показан пример значения 123456ABC для
идентификатора Apple Team ID. Можно найти значение идентификатора Apple Team ID в Xcode.
Перейдите к разделу параметров сборки и наведите указатель на имя группы разработки, чтобы
отобразилась подсказка. В подсказке будет указан идентификатор команды.

6. Закройте файл project.pbxproj , откройте контекстное меню выгруженного проекта


MyOpenGLESApp.iOS.Application и выберите Перезагрузить проект , чтобы перезагрузить проект.
7. Теперь выполните сборку проекта MyOpenGLESApp.iOS.Application. Для этого откройте его
контекстное меню и выберите Сборка .

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

Возможно, на компьютере Mac вам будет предложено разрешить средству подписывания кода
доступ к цепочке ключей. Чтобы продолжить, нажмите Разрешить.

8. Выберите свое устройство iOS на панели инструментов, чтобы запустить приложение на устройстве,
подключенном к компьютеру Mac. Если приложение не запускается, проверьте, предоставляет ли
устройство развернутому приложению разрешение на запуск. Чтобы предоставить это разрешение,
последовательно выберите на устройстве Параметры > Общие > Управления устройствами.
Выберите учетную запись для разработки приложений, сделайте ее доверенной и проверьте
приложение. Попытайтесь еще раз запустить приложение из Visual Studio.
После запуска приложения можно задать точки останова и использовать отладчик Visual Studio для
проверки локальных значений, стека вызовов и контрольных значений.

9. Для остановки отладки нажмите SHIFT +F5 .


Созданные проекты приложения и библиотеки iOS помещают код C++ в статическую библиотеку,
которая реализует только общий код. Большая часть кода приложения находится в проекте
Application . Вызовы кода общей библиотеки в этом проекте шаблона осуществляются в файле
GameViewController.m. Для сборки приложения iOS среда Visual Studio использует набор средств
платформы Xcode, которому требуется взаимодействовать с удаленным клиентом, запущенным на
компьютере Mac.
Visual Studio переносит файлы проекта на удаленный клиент. Затем он отправляет команды для
сборки приложения с помощью Xcode. Удаленный клиент отправляет сведения о состоянии сборки
обратно среде Visual Studio. После успешного построения приложения Visual Studio может отправить
команды для выполнения и отладки приложения. Отладчик Visual Studio управляет работой
приложения на устройстве iOS, подключенном к компьютеру Mac. Visual Studio сопоставляет
свойства проекта с параметрами, используемыми для компиляции, компоновки и отладки на целевой
платформе iOS. Чтобы получить подробную информацию о параметрах командной строки
компилятора, откройте диалоговое окно Страницы свойств для проекта
MyOpenGLESApp.iOS.StaticLibrary.

Настройка приложений
Вы можете изменить общий код C++, чтобы добавить или изменить общие функциональные возможности.
Измените вызовы к общему коду в проектах MyOpenGLESApp.Android.NativeActivity и
MyOpenGLESApp.iOS.Application , чтобы они совпадали. Для указания разделов общего кода, предназначенных
для конкретной платформы, можно использовать макросы препроцессора. При выполнении сборки для
Android предварительно определен макрос препроцессора __ANDROID__ . При выполнении сборки для iOS
предварительно определен макрос препроцессора __APPLE__ .

Чтобы просмотреть IntelliSense для определенной платформы проекта, выберите проект в


раскрывающемся списке контекстного переключения. Он находится на панели навигации в верхней части
окна редактора.

Проблемы, найденные IntelliSense в коде текущего проекта, подчеркиваются красной волнистой линией. В
других проектах возникает ошибка фиолетовой волнистой линии. Visual Studio не поддерживает
выделение кода цветом и технологию IntelliSense для файлов с кодом Java и Objective-C. Однако вы по-
прежнему можете изменять исходные файлы и ресурсы. Используйте их для задания имени приложения,
значка и других сведений о реализации.
minutes to read • Edit Online

Средства Visual Studio для разработки кросс-платформенных мобильных приложений на языке С ++


позволяют переносить проекты Xcode в Visual Studio, в котором вы можете создавать кросс-платформенные
библиотеки и обмениваться кодом с другими проектами. Мастер импорта из Xcode упрощает процесс
импорта проектов и отделения кода С ++ в целевых объектах Xcode для использования в качестве
статической библиотеки или проекта общего кода. Вы можете управлять своим кодом, связанным с iOS, в
Visual Studio и по-прежнему использовать Xcode для раскадровки и сборки проекта. Сведения о легком
перемещении кода между Visual Studio и Xcode, см. в разделе Изменения в синхронизации между Xcode и
Visual Studio.

Использование мастера импорта из Xcode


В этой статье приведены сведения о перемещении проекта Xcode в Visual Studio, а также об использовании
преимуществ совместного использования кода и кросс-платформенных решений. Для импорта, экспорта и
сборки проекта необходимо выполнить сопряжение Mac с Visual Studio. Инструкции по настройке
сопряжения см. в статье Установка и настройка средств сборки для iOS. Для использования мастера импорта
из Xcode также необходимо предоставить общий доступ к своему проекту по сети или перенести его на свой
компьютер с Visual Studio.

Импорт из Xcode
1. В меню Файл выберите Новый документ , Импорт , Импорт из Xcode . Эта команда запускает
диалоговое окно мастера Импорт из мастера Xcode .

2. В панели Выбор проекта выберите кнопку "Обзор", чтобы выбрать файл Xcode .pbxproj. Перейдите
к файлу проекта в диалоговом окне Выбрать файл проекта Xcode , а затем выберите Открыть.
В мастере импорта из Xcode выберите Далее .

3. В области Целевые объекты назначения выберите целевые объекты в проекте Xcode, которые
будут импортированы в проекты Visual Studio. Целевые объекты Xcode аналогичны целевым объектам
в проектах Visual Studio; большинство из них представляют собой сочетание кода и ресурсов, которые
образуют двоичный файл. Мастер импорта из Xcode позволяет импортировать только те объекты,
которые производят двоичную библиотеку, а не статическую, в качестве объектов назначения.
Предметом следующего шага являются цели статических библиотек Xcode.

Для каждого целевого объекта, выбранного в разделе Целевые объекты для импорта , мастер
автоматически определяет файлы кода C++, которые можно выделить в отдельный проект
статической библиотеки, и помещает их в раздел Элементы проекта C++ . Другие коды и ресурсы
остаются в разделе Элементы проекта Xcode . После окончания импорта они станут отдельной
статической библиотекой и проектами приложения в Visual Studio. По умолчанию модульные тесты и
целевые объекты платформы не разбиваются на отдельные проекты.

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

4. В области Целевые объекты библиотеки выберите целевые объекты статической библиотеки в


проекте Xcode, которые будут импортированы в проекты Visual Studio. В этой области можно
выбрать, какие файлы будут добавлены в проект с общим кодом, а какие — в проект статической
библиотеки. В каждом из целевых объектов в списке Целевые объекты для импорта можно
управлять тем, какие файлы будут добавлены в Элементы проекта общего кода и в Элементы
проекта статической библиотеки с помощью кнопок со стрелками вверх и вниз.

С помощью проекта общего кода можно обмениваться файлами исходного кода между проектами в
Visual Studio. Сборка кода происходит в рамках проекта, в который он входит , а не в рамках
отдельного проекта. Проекты, которые содержат общий код, могут иметь различную архитектуру и
конфигурацию. Проект с общим кодом — это лучший способ создать единый проект , содержащий
код, который может быть собран для многих типов платформ.

После выбора файлов для каждого проекта нажмите кнопку Далее для продолжения.

5. Используйте панель Глобальные свойства , чтобы задать путь поиска платформы и путь поиска
включенного заголовка для всех iOS-проектов в Visual Studio. Visual Studio использует эти пути для
просмотра исходного кода и для IntelliSense. С помощью этих глобальных путей удобно создавать
проекты iOS, которые используют общий набор заголовков и платформ.
Эти глобальные пути также можно задать в Visual Studio в диалоговом окне Параметры. Чтобы их
найти, в меню Сервис выберите Параметры. В диалоговом окне Параметры разверните Кросс-
платформа > C+++ > iOS > Глобальные свойства .

Чтобы продолжить, нажмите кнопку Далее .

6. Область Платформы используется для настройки путей, которые используются Visual Studio для
просмотра файлов и для IntelliSense. Visual Studio должны быть доступны пути для каждой
платформы, на которую ссылается ваш проект Xcode. Мастер проверяет ссылки на платформы в
проектах Xcode и отображает , может ли Visual Studio найти платформу. Все пути, которые уже были
настроены в окне Глобальные свойства, должны быть доступны для Visual Studio. Исключения
указаны в списке Платформы. Для каждой платформы, которая помечена символом "X", укажите путь
к платформе на компьютере Visual Studio. Для указания пути можно воспользоваться кнопкой "Обзор"
( ... ). Откроется окно Выбор папки. Можно указать путь к локальной копии платформы или путь к
сетевой папке на компьютере Mac.
Чтобы продолжить, нажмите кнопку Далее .

7. В области Параметры проекта можно изменить платформу и включить параметры путей поиска
заголовков для каждого проекта, создаваемого мастером. В этой области задаются пути для
определенного проекта, которые отличаются от глобальных параметров.

Чтобы задать путь для конкретного проекта, в раскрывающемся списке Конечный проект выберите
файл проекта. Затем установите значения в элементах управления Framework Search Path и
Include Header Search Path . Для указания пути можно воспользоваться кнопкой "Обзор" ( ... ) рядом
с каждым элементом управления. Откроется окно Выбор папки.
Если с этим компьютером не был связан удаленный компьютер Mac в Visual Studio, отображается
ссылка Настроить удаленный компьютер. Инструкции по настройке сопряжения см. в статье
Установка и настройка средств сборки для iOS.

Чтобы импортировать проект Xcode с помощью параметров мастера, выберите Импорт .

Импорт с помощью мастера Xcode создает в Visual Studio проекты, соответствующие выбранным
целям проекта Xcode. Код, который можно использовать совместно с другими проектами C++,
выделяется в отдельные проекты общего кода и проекты статических библиотек. Оставшийся код
помещается в проекты библиотек и приложений iOS, сборку которых можно выполнить удаленно с
помощью Visual Studio. Дополнительные сведения о перемещении кода между Visual Studio и Xcode
см. в разделе Синхронизация изменений между Xcode и Visual Studio.

См. также раздел


Установка Visual C++ для разработки кроссплатформенных мобильных приложений на языке C++
minutes to read • Edit Online

Мобильная разработка с компонентами C++ в Visual Studio включает в себя удаленные возможности для
синхронизации работы между ПК и Mac. Когда компьютеры с Visual Studio и Mac связаны, для проектов
приложений iOS в Visual Studio доступны новые возможности, позволяющие открыть проект в Xcode,
перемещать код между Xcode и Visual Studio и очистить временный каталог проекта Xcode.

Для использования возможностей удаленного компьютера проект должен быть проектом приложения iOS,
а система Visual Studio должна быть связана с Mac. Необходимые условия и инструкции по связыванию Mac
см. в разделе Установка и настройка средств для разработки с помощью iOS.

Меню "Удаленный компьютер"


В обозревателе решений щелкните проект приложения iOS правой кнопкой мыши для отображения
контекстного меню. Выберите пункт Удаленный компьютер, чтобы показать доступные параметры
удаленного взаимодействия.

![Пункт меню "Удаленный компьютер" в обозревателе решений](../cross-platform/media/cppmdd-u2-


remotemachine-menu.jpg "Пункт меню "удаленный компьютер" в обозреватель решений")
Эти команды позволяют открыть проект в Xcode, перемещать локальные изменения или весь проект между
Visual Studio и Xcode, а также очистить временные файлы на удаленном компьютере.

Открыть в Xcode
Чтобы открыть проект из Visual Studio в Xcode, в подменю Удаленный компьютер выберите Открыть в
Xcode для открытия выбранного проекта на связанном удаленном компьютере. Сервер vcremote
используется для открытия Xcode на компьютере Mac и перехода к временному каталогу, созданному на
компьютере Mac и содержащему копию проекта. Visual Studio выводит диалоговое окно с временным
каталогом для проекта. Действия, выполняемые на удаленном компьютере, также отображаются в окне
Вывод Visual Studio. Чтобы увидеть их, может потребоваться выбрать элемент Удаленный компьютер
Visual C++ в раскрывающемся списке Показать выходные данные из в верхней части окна Вывод .

На Mac вы можете использовать все инструменты Xcode для редактирования кода и ресурсов, раскадровок
и действий. В Visual Studio ваш проект приложения iOS сопровождается пометкой "Открыто в Xcode",
указывающей на возможность внесения изменений на удаленном компьютере. После внесения изменений
вы можете воспользоваться командой "Принудительное извлечение с удаленного компьютера" или
"Инкрементное принудительное извлечение с удаленного компьютера", чтобы скопировать их обратно в
проект Visual Studio.

"Принудительная отправка на удаленный компьютер" и


"Инкрементная принудительная отправка на удаленный
компьютер"
После внесения изменений в проект приложения iOS в Visual Studio, можно воспользоваться командой
"Принудительная отправка на удаленный компьютер" или "Инкрементная принудительная отправка на
удаленный компьютер" для перемещения измененных файлов проекта на связанный удаленный
компьютер. Команда "Принудительная отправка на удаленный компьютер" копирует все файлы проекта на
удаленный компьютер. Команда "Инкрементная принудительная отправка на удаленный компьютер"
копирует на удаленный компьютер только измененные файлы. Для крупных проектов с небольшими
изменениями инкрементная команда позволят сэкономить время и пропускную способность.

Чтобы скопировать файлы проекта на Mac, в обозревателе решений Visual Studio щелкните проект
приложения iOS правой кнопкой мыши для открытия контекстного меню. Выберите пункт Удаленный
компьютер и затем команду Принудительная отправка на удаленный компьютер или
Инкрементная принудительная отправка на удаленный компьютер, чтобы скопировать файлы
проекта из Visual Studio на Mac.

"Принудительное извлечение с удаленного компьютера" и


"Инкрементное принудительное извлечение с удаленного
компьютера"
После внесения изменений в проект в Xcode переместите изменения обратно Visual Studio, чтобы
обеспечить синхронизацию проектов.

Чтобы скопировать файлы проекта на Mac, в обозревателе решений Visual Studio щелкните проект
приложения iOS правой кнопкой мыши для открытия контекстного меню. Выберите пункт Удаленный
компьютер и затем команду Принудительное извлечение с удаленного компьютера или
Инкрементное принудительное извлечение с удаленного компьютера , чтобы скопировать
файлы проекта с Mac в Visual Studio.

Очистить удаленный компьютер


Вы можете использовать команду "Очистить удаленный компьютер" для удаления файлов во временном
каталоге проекта на удаленном компьютере. Содержимое этого каталога, включая все исходные файлы
или результаты сборки, удаляется с Mac. Перед применением команды "Очистить удаленный компьютер"
синхронизируйте все изменения, которые должны присутствовать в Visual Studio, с помощью команды
"Принудительное извлечение с удаленного компьютера" или "Инкрементное принудительное извлечение с
удаленного компьютера".

Чтобы очистить временный каталог проекта на удаленном компьютере, в обозревателе решений Visual
Studio щелкните проект приложения iOS правой кнопкой мыши для открытия контекстного меню.
Выберите пункт Удаленный компьютер и команду Очистить удаленный компьютер, чтобы удалить
файлы в каталоге проекта с Mac.
minutes to read • Edit Online

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


языке C++ , создают полноценные примеры, которые можно использовать для обучения. Кроме того, в
Центре разработки для Windows есть несколько примеров приложений, которые можно скачать и
испытать в Visual Studio.

Пример приложения hello-jni для Android

Этот пример представляет собой приложение hello-jni, перенесенное из Android NDK. В нем
демонстрируется полностью готовое приложение Java Native Interface в стиле Hello World. Оно
загружает строку из собственного метода, реализованного в общей библиотеке, а затем выводит ее
на экран.

Пример приложения hello-gl2 для Android

Этот пример представляет собой приложение hello-gl2, перенесенное из Android NDK. В нем
демонстрируется полностью готовое приложение Native Interface Android на основе OpenGL. В нем
отрисовывается треугольник с помощью API шейдеров OpenGL ES 2.0.

Пример приложения Bitmap Plasma для Android

Этот пример представляет собой приложение Bitmap Plasma, перенесенное из Android NDK. В нем
демонстрируется полностью готовое приложение Java Native Interface для Android на основе OpenGL
ES 2.0. С его помощью показано, как напрямую работать с буферами растровых пикселей Android для
создания эффекта плазмы.

Пример библиотеки TwoLibs для Android

Этот пример представляет собой образец библиотеки TwoLibs, перенесенный из Android NDK. В нем
используется как динамически загружаемая общая библиотека, так и статическая собственная
библиотека Android на C++, которая реализует метод, вызываемый из приложения Java Native
Interface. Этот пример является хорошей отправной точкой, позволяющей разработчикам понять, как
использовать статические и динамические общие библиотеки для создания полностью готового
приложения JNI для Android с помощью Visual Studio.

Пример приложения Tea Pot для Android

Этот пример представляет собой приложение TeaPot, перенесенное из Android NDK. В нем
демонстрируется полностью готовое приложение Java Native Interface для Android на основе OpenGL
ES 2.0.
Пример приложения MoreTeaPots для Android

Этот пример представляет собой приложение MoreTeaPots, перенесенное из Android NDK. В нем
демонстрируется полностью готовое приложение Java Native Interface для Android на основе OpenGL.

Пример библиотеки test-libstdcpp для Android

Этот пример представляет собой образец библиотеки test-libstdc++, перенесенной из Android NDK и
предназначенной специально для использования с Visual Studio. Этот пример является хорошей
отправной точкой, позволяющей разработчикам понять, как использовать стандартную библиотеку.

Чтобы открыть один из примеров в Visual Studio, скачайте ZIP-файл и откройте страницу Свойства
этого файла в проводнике. Нажмите кнопку Разблокировать , а затем кнопку ОК. Извлеките
содержимое ZIP-файла в удобное место, откройте папку C++ в извлеченном образце, а затем
откройте файл решения.

Чтобы выполнить сборку образца, нажмите клавишу F7 или выберите в строке меню Сборка >
Собрать решение .
minutes to read • Edit Online

Этот раздел содержит сведения о свойствах кроссплатформенных проектов C++.

Общие свойства проекта (Android C++)


Свойства отладчика Android
Свойства проекта Clang (Android C++)
Общие свойства проекта (Android C++ Makefile)
Свойства компоновщика Clang (Android C++)
Свойства NMake (Android C++)
minutes to read • Edit Online

СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Выходной каталог Указывает относительный путь к


выходному каталогу файлов; может
включать в себя переменные среды.

Промежуточный каталог Указывает относительный путь к


промежуточному каталогу файлов;
может включать в себя переменные
среды.

Имя цели Указывает имя файла, создаваемого


этим проектом.

Расширение цели Указывает расширение файла,


создаваемое этим проектом.
(Пример: EXE или DLL.)

Расширения для удаления при Спецификация из подстановочных


очистке знаков (разделитель — точка с
запятой), определяющая, какие
файлы в промежуточном каталоге
нужно удалять при очистке или
перестроении.

Файл журнала сборки Определяет файл журнала сборки, в


который будет вестись запись, если
ведение журнала включено.

Набор инструментов платформы Задает набор инструментов,


используемый для сборки текущей
конфигурации; если не указан,
используется набор инструментов
по умолчанию

Тип конфигурации Определяет тип выходных данных , Динамическая библиотека (.so)


создаваемых этой конфигурацией. — динамическая библиотека ( .so)
Статическая библиотека (.a) —
статическая библиотека ( .a)
Служебная программа —
служебная программа
Makefile — файл Makefile

Целевой уровень API Целевой уровень API NDK Android


для этой конфигурации.
СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Использование STL Указывает , какую стандартную Минимальная библиотека сред ы


библиотеку C++ следует выполнения C++ ( система)
использовать для этой Статическая библиотека сред ы
конфигурации. выполнения C++ (gabi++_static)
Общая библиотека сред ы
выполнения C++
(gabi++_shared)
Статическая библиотека сред ы
выполнения STLpor t
(stlpor t_static)
Общая библиотека сред ы
выполнения STLpor t
(stlpor t_shared)
Статическая библиотека GNU
STL (gnustl_static)
Общая библиотека GNU STL
(gnustl_shared)
Статическая библиотека LLVM
libc++ (c++_static)
Общая библиотека LLVM libc++
(c++_shared)

Режим Thumb Создайте код, выполняемый для Thumb


микроархитектуры Thumb. ARM
Применимо только к архитектуре Отключено
ARM.
minutes to read • Edit Online

СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Тип отладчика Указывает тип кода для отладки. Только машинный код

Только Java

Целевой объект отладки Указывает эмулятор или устройство


для использования при отладке.
Если эмуляторы не запущены,
используйте "Диспетчер
виртуальных устройств Android
(AVD)" для запуска устройства.

Пакет для запуска Указывает расположение APK-файла,


подлежащего отладке. Этот
параметр запускает пакет (APK) при
отладке приложения.

Действие запуска Действие Android для запуска


приложения должно
соответствовать использованному в
манифесте. Нажмите кнопку
"Применить", чтобы извлечь список
из файла AndroidManifest.xml и
динамически заполнить его.

Дополнительные пути поиска Дополнительный путь поиска для


символов символов отладки.

Дополнительные пути поиска Дополнительные пути поиска для


исходных файлов Java исходных файлов Java (применяется
исключительно для типа отладчика
"Только Java").
minutes to read • Edit Online

СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Дополнительные каталоги Задает один или несколько


включаемых файлов каталогов для добавления в
качестве пути включения; несколько
значений разделяются точками с
запятой. (-Iпуть).

Формат отладочной информации Определяет тип отладочной Нет — отладочная информация не


информации, создаваемой создается для ускорения
компилятором. компиляции.
Полная отлад очная
информация (DWARF2) —
создание отладочной информации
DWARF2.
Информация о номерах строк —
создание информации только о
номерах строк.

Имя объектного файла Задает имя, переопределяющее имя


объектного файла по умолчанию;
может быть именем файла или
каталога. (/FOимя).

Уровень предупреждений Выберите, как строго компилятор Отключить все


должен воспринимать ошибки в пред упрежд ения — отключает
коде. Другие флаги должны быть все предупреждения компилятора.
добавлены непосредственно в Включить все пред упрежд ения
раздел дополнительных параметров. — включает все предупреждения,
(/w, /Weverything). включая все отключенные по
умолчанию.

Обрабатывать предупреждения как Интерпретирует все


ошибки предупреждения компилятора как
ошибки. Для нового проекта
рекомендуется использовать
параметр /WX во всех компиляциях.
Разрешение всех предупреждений
обеспечит минимальное число
трудновыявляемых дефектов кода.

Включить подробный режим Отображение команд для


выполнения и использования
подробного вывода.
СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Optimization Указывает уровень оптимизации для Настраиваемый — настраиваемая


приложения. оптимизация.
Отключено — отключить
оптимизацию.
Минимизировать размер —
оптимизировать по размеру.
Максимизировать скорость —
оптимизировать по скорости.
Полная оптимизация —
дорогостоящие оптимизации.

Строгое присвоение псевдонима Использовать самые строгие


правила присвоения псевдонима.
Объект одного типа никогда не
считается одним и тем же адресом,
что и другой объект типа.

Опустить указатель на фреймы Отменяет создание указателей на


фреймы в стеке вызовов.

Включить исключения C++ Задает модель обработки Нет — отключение обработки


исключений, используемую исключений.
компилятором. Да — включение обработки
исключений.
Очистка таблиц — создает все
необходимые статические данные,
но не влияет на созданный код.

Включить компоновку на уровне Компилятор может упаковывать


функций отдельные функции в форме
упакованных функций (COMDAT).
Требуется для изменения и
продолжения работы. (ffunction-
sections).

Включить связывание на уровне Разрешает операциям оптимизации


данных компоновщика удалять
неиспользуемые данные, порождая
каждый элемент данных в
отдельном разделе.

Включить расширенный SIMD(Neon) Включает создание кода для


оборудования NEON с плавающей
запятой. Применимо только к
архитектуре ARM.
СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

ABI с плавающей запятой Параметр для выбора ABI с Soft — при выборе "Soft" выходные
плавающей запятой. данные компилятора содержат
вызовы библиотек для операций с
плавающей запятой.
SoftFP — при выборе "SoftFP" код
создается с помощью аппаратных
инструкций с плавающей запятой,
однако при этом все еще
используются соглашения о вызове
soft-float.
Hard — при выборе "Hard"
разрешено создавать инструкции с
плавающей запятой и использовать
соглашения о вызовах для
конкретных FPU.

Проверка безопасности Проверка безопасности помогает Отключить проверку


обнаруживать переполнения буфера безопасности — проверка
стека, что является обычной безопасности отключается.
попыткой обхода защиты Включить проверку
программы. (fstack-protector). безопасности — проверка
безопасности включается. (fstack-
protector)

Позиционно-независимый код Создать код, не зависящий от


позиционирования (PIC), для
использования в общей библиотеке.

Использовать короткие Тип перечисления использует


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

Включить информацию о типах Добавляет код для проверки типов


времени выполнения объектов C++ во время выполнения
(информация о типах времени
выполнения). (frtti, fno-rtti)

Стандарт языка C Определяет стандарт языка C. Default


C89 — стандарт языка C89.
C99 — стандарт языка C99.
C11 — стандарт языка C11.
C99 ( д иалект GNU) — стандарт
языка C99 (диалект GNU).
C11 ( д иалект GNU) — стандарт
языка C11 (диалект GNU).

Стандарт языка C++ Определяет стандарт языка C++. Default


C++03 — стандарт языка C++03.
C++11 — стандарт языка C++11.
C++14 — стандарт языка C++14.
C++03 ( д иалект GNU) —
стандарт языка C++03 (диалект
GNU).
C++11 ( д иалект GNU) —
стандарт языка C++11 (диалект
GNU).
C++14 ( д иалект GNU) —
стандарт языка C++14 (диалект
GNU).
СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Определения препроцессора Определяет символы предобработки


для исходного файла. (-D)

Отменить определения Задает одно или несколько


препроцессора неопределений для препроцессора. (-
U макрос)

Отменить все определения Отменить все объявленные ранее


препроцессора определения препроцессора. (-undef)

Показывать включаемые файлы Создает список включаемых файлов


с выводом компилятора. (-H)

Предкомпилированный заголовок Создание или использование Использовать — использовать


предварительно скомпилированного предварительно скомпилированный
заголовка: включает создание или заголовок.
использование Не использовать
предкомпилированного заголовка во пред варительно
время сборки. скомпилированные заголовки —
отказ от использования
предварительно скомпилированного
заголовка.

Файл предкомпилированных Задает имя, используемое для файла


заголовков предкомпилированных заголовков.
Этот файл также добавляется в
"Принудительно включаемые файлы"
во время сборки

Каталог выходного файла Указывает каталог для создаваемого


предкомпилированного заголовка предкомпилированного заголовка.
Этот каталог также добавляется в
папку "дополнительные включаемые
каталоги" во время сборки

Компилировать Выбор языка компиляции для файла Компилировать как код C —


предкомпилированный заголовок как предкомпилированных заголовков (- компилировать как код C.
x c-header, -x c++-header). Компилировать как код C++ —
компилировать как код C++.

Компилировать как Выберите параметр язык По умолчанию — по умолчанию.


компиляции для файлов .c и .cpp Компилировать как код C —
. "Default" будет обнаруживаться на компилировать как код C.
основе расширения .c или .cpp . Компилировать как код C++ —
(-x c, -x c++) компилировать как код C++.

Принудительно включенные файлы Один или несколько принудительно


включаемых файлов. (-include Name)

Многопроцессорная компиляция Многопроцессорная компиляция.

Дополнительные параметры Дополнительные параметры.


minutes to read • Edit Online

СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Выходной каталог Указывает относительный путь к


выходному каталогу файлов; может
включать в себя переменные среды.

Промежуточный каталог Указывает относительный путь к


промежуточному каталогу файлов;
может включать в себя переменные
среды.

Файл журнала сборки Определяет файл журнала сборки, в


который будет вестись запись, если
ведение журнала включено.

Тип конфигурации Определяет тип выходных данных , Динамическая библиотека (.so)


создаваемых этой конфигурацией. — динамическая библиотека ( .so)
Статическая библиотека (.a) —
статическая библиотека ( .a)
Служебная программа —
служебная программа
Makefile — файл Makefile
minutes to read • Edit Online

СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Выходной файл Параметр переопределяет


стандартное имя и расположение
программы, которую создает
компоновщик. (-o)

Отображать ход выполнения Печатает сообщения хода


выполнения компоновщика.

Версия Параметр -version сообщает


компоновщику о том, что нужно
поместить номер версии в заголовок
исполняемого файла.

Включить подробные выходные Параметр -verbose сообщает


данные компоновщику о том, что нужно
вывести подробные сообщения для
отладки.

Включить инкрементную Параметр сообщает компоновщику о


компоновку том, что нужно включить
инкрементную компоновку.

Путь поиска общих библиотек Позволяет пользователю указать


путь поиска общих библиотек.

Дополнительные каталоги Разрешает пользователю


библиотек переопределять путь окружения
библиотеки. (-L folder).

Сообщить о неразрешенных ссылках Этот параметр включен, если


на символы включены отчеты о неразрешенных
ссылках на символы.

Оптимизировать использование Оптимизация использования памяти


памяти путем повторного чтения таблиц
символов по мере необходимости.

Игнорировать конкретные Указывает одно или несколько имен


стандартные библиотеки пропускаемых библиотек по
умолчанию.

Принудительно включать ссылки на Принудительный ввод символа в


символы выходной файл в качестве
неопределенного символа.
СВОЙСТВО DESC RIP T IO N ВАРИАНТЫ

Символьная отладочная информация Символьная отладочная информация Включить все


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

Пропустить только символьную


отлад очную информацию

Пропустить всю символьную


информацию

Упаковка символьной отладочной Удалить символьную отладочную


информации информацию перед упаковкой. Для
отладки используется копия
исходного двоичного файла.

Имя файла сопоставления Параметр "Сопоставление" сообщает


компоновщику о том, что нужно
создать файл сопоставления с
именем, указанным пользователем.

Отметить переменные как Параметр отмечает переменные как


доступные только для чтения после доступные только для чтения после
перемещения перемещения.

Включить немедленное связывание Этот параметр отмечает объект для


функций немедленного связывания функций.

Требовать исполняемый стек Этот параметр отмечает выходные


данные как не требующие
исполняемого стека.

Весь архив Весь архив использует весь код из


источников и дополнительных
зависимостей.

Дополнительные параметры Дополнительные параметры.

Дополнительные зависимости Указывает дополнительные


элементы для добавления в
командную строку компоновки.

Зависимости библиотеки Этот параметр позволяет указать


дополнительные библиотеки для
добавления в командную строку
компоновщика. Дополнительные
библиотеки добавляются в конец
командной строки компоновщика
начинаются с lib и заканчиваются
расширением . a или . so . (-lFILE)
minutes to read • Edit Online

СВОЙСТВО DESC RIP T IO N

Командная строка для сборки Указывает командную строку , реализующую команду


"Сборка".

Командная строка для повторной сборки всех файлов Определяет командную строку , реализующую команду
"Перестроить все".

Командная строка для очистки Определяет командную строку , реализующую команду


"Очистить".

Выходные данные Определяет выходной файл, который нужно создать.

Определения препроцессора Указывает определения препроцессора, используемые


файлами исходного кода.

Путь поиска включаемых файлов Указывает путь для разрешения включаемых файлов.

Обязательно включаемые файлы Задает файлы, включаемые принудительно.

Дополнительные параметры Указывает дополнительные параметры компилятора,


которые должны использоваться IntelliSense при
синтаксическом анализе файлов C++.

Вам также может понравиться