Добавление 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 объясняет это в разделе " Классы и объекты ".