Настройки CMake, которые следует учитывать:
BUILD_OSG_EXAMPLES — по умолчанию отключено. Включите эту настройку для компиляции множества отличных примеров программ.
CMAKE_OSX_ARCHITECTURES — Xcode может создавать приложения, исполняемые файлы, библиотеки и фреймворки, которые могут работать на нескольких архитектурах. Используйте эту настройку, чтобы указать архитектуры, на которых будет строиться OSG. x86_64 — единственное поддерживаемое значение для версий ОС > 10.7.
OSG_BUILD_APPLICATION_BUNDLES — обычно для примеров и демонстрационных приложений создаются только исполняемые двоичные файлы. Если вы хотите создать настоящие пакеты macOS .app, включите этот параметр. Создание пакетов .app
имеет свои особенности, см. ниже.
OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX — по умолчанию macOS использует плагин imageio
вместо плагинов для отдельных типов файлов (например, jpg
, gif
и т. д.) для загрузки типов файлов изображений. Плагин imageio
может обрабатывать все популярные форматы файлов через инфраструктуру ImageIO.
OSG_WINDOWING_SYSTEM — при создании приложений на macOS вы можете использовать Cocoa, Carbon или X11. Cocoa используется по умолчанию для ОС версии >= 10.5. Carbon и X11 больше не поддерживаются активно ни Apple, ни сообществом OSG.
Пакеты приложений (.app)
Примеры программ при сборке в виде пакетов приложений содержат только исполняемый файл. Они не содержат зависимых библиотек, как обычный пакет, поэтому обычно не переносимы на другие машины. Они также не знают, где найти плагины. Можно задать переменную среды OSG_LIBRARY_PATH, чтобы она указывала на расположение файлов плагинов .so. OSG_FILE_PATH можно задать, чтобы он указывал на расположение файлов данных. Очень полезно установить OSG_FILE_PATH в каталог OpenSceneGraph-Data при тестировании OSG путём запуска примеров программ. Многие примеры программ используют аргументы командной строки. При двойном щелчке по приложению (или использовании эквивалентной команды «открыть» в командной строке) успешно запускаются только те примеры и приложения, которым не требуются аргументы командной строки. Исполняемый файл в пакете .app можно запустить из командной строки, если нужны аргументы командной строки.
С помощью CMake 3.11, XCode 9.4 и iOS SDK 11.4 можно создать проект XCode для iOS с помощью следующей команды:
export THIRDPARTY_PATH=/path/to/3rdParty
cmake ./ -G Xcode -DOSG_BUILD_PLATFORM_IPHONE:BOOL=ON \
-DIPHONE_SDKVER="11.4" \
-DIPHONE_VERSION_MIN="10.0" \
-DOPENGL_PROFILE:STRING=GLES3 \
-DOSG_CPP_EXCEPTIONS_AVAILABLE:BOOL=ON \
-DBUILD_OSG_APPLICATIONS:BOOL=OFF \
-DBUILD_OSG_EXAMPLES:BOOL=ON \
-DOSG_WINDOWING_SYSTEM:STRING=IOS \
-DOSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX="imageio" \
-DDYNAMIC_OPENSCENEGRAPH:BOOL=OFF \
-DDYNAMIC_OPENTHREADS:BOOL=OFF \
-DCURL_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/curl-ios-device/include" \
-DCURL_LIBRARY:PATH="$THIRDPARTY_PATH/curl-ios-device/lib/libcurl.a" \
-DFREETYPE_INCLUDE_DIR_freetype2:PATH="$THIRDPARTY_PATH/freetype-ios-universal/include/freetype" \
-DFREETYPE_INCLUDE_DIR_ft2build:PATH="$THIRDPARTY_PATH/freetype-ios-universal/include" \
-DFREETYPE_LIBRARY:PATH="$THIRDPARTY_PATH/freetype-ios-universal/lib/libFreetype2.a" \
-DTIFF_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/tiff-ios-device/include" \
-DTIFF_LIBRARY:PATH="$THIRDPARTY_PATH/tiff-ios-device/lib/libtiff.a" \
-DGDAL_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/gdal-ios-device/include" \
-DGDAL_LIBRARY:PATH="$THIRDPARTY_PATH/gdal-ios-device/lib/libgdal.a"
Обязательно установите THIRDPARTY_PATH на путь, содержащий ваши сторонние зависимости. Установите IPHONE_SDKVER на версию iOS sdk, которую вы установили, в данном случае 11.4. IPHONE_VERSION_MIN управляет версией развёртывания sdk, используемой xcode, и, наконец, установите OPENGL_PROFILE на версию GLES, которую вы хотите использовать. После завершения в корневой папке osg будет создан проект XCode. Откройте сгенерированный проект Xcode, выберите цель example_osgViewerIPhone.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )