Добавление GLM для проекта в Xcode 4

Я пытаюсь добавить GLM в проект в Xcode 4, но не могу заставить его скомпилировать. Я добавил файлы glm в свой проект через диалог добавления файлов.

У меня проблема с лексикой / препроцессором, и Xcode не может найти файл <cmath>,

Я не уверен, что мне нужно настроить, чтобы это построить.

Я видел, как я могу добавить OpenGL Математика (GLM) в Xcode 4? уже.

2 ответа

Решение

Все, что вам нужно сделать, это добавить файлы в проект и #import "glm.hpp" (для Objective-C++; для простого C++ это должно быть просто #include "glm.hpp").

Пара вещей, чтобы быть осторожным:

  • Библиотека математики OpenGL, когда вы ее загружаете, поставляется с кучей вещей, которые вам не нужны (тестовый код, посторонние утилиты). Добавление их в ваш проект приведет к ошибкам компиляции, от которых я не смог избавиться. Единственный каталог, который вам нужен, это glm/ каталог; Вы можете удалить test/, util/, doc/, а также bench/ каталоги. Если вы пытались следовать "Как мне добавить OpenGL Математика (GLM) в Xcode 4?" и все еще были проблемы, это может быть то, что сбило вас с толку.

  • В документации OpenGL по математике сказано, чтобы вы включали файлы или. В Xcode 4 вы должны включить их как "glm.hpp" или "*.hpp". Xcode найдет файлы независимо от того, где они находятся в проекте. Предположительно, вы можете добавить пользовательский параметр сборки "USE_HEADERMAP" и установить для него значение "НЕТ", чтобы отключить это, но мне не повезло с этим.

  • И, на всякий случай, обратите внимание, что ваши файлы кода, использующие библиотеку математики OpenGL, должны быть файлами Objective C++ (заканчивающимися на ".mm"), а не файлами Objective C по умолчанию / обычными (заканчивающимися на ".m"). В конце концов, это очень большая библиотека C++...:-)

Я надеюсь, что это поможет. Я просто работал над этим сам, и у меня не было возможности действительно продвинуть это (например, я просто добавил mat4 объект или два и убедитесь, что все еще скомпилировано), но, похоже, работает.

Я столкнулся с той же проблемой, и я решил ее, оставив ViewController.m в ViewController.mm, Изменить расширение на .mm сообщает XCode, что файл может содержать код C++ внутри. Статья Write Object-C Code объясняет это в разделе " Классы и объекты ".

Другие вопросы по тегам