Как создать инструмент командной строки, который связывается с iPhone Simulator SDK? - PullRequest
1 голос
/ 17 октября 2010

Какого черта я хочу это сделать? OpenGL Shader Builder - отличный инструмент для разработки, но он компилирует шейдеры, используя настольный OpenGL, что допускает некоторые вещи, которых нет у ES. Я полагаю, что если я смогу создать инструмент, который ссылается на OpenGLES.framework в iPhone Simulator SDK, я смогу получить некоторые отчеты об ошибках без необходимости создания / установки / запуска моего приложения.

Изучив командные строки, появляющиеся в окне сборки Xcode, я дошел до этого (для ясности в формате Makefile. Серьезно!):

ARCH=i386
PLATFORM=/Developer/Platforms/iPhoneSimulator.platform/Developer
GCC=$(PLATFORM)/usr/bin/gcc-4.2
ISYSROOT=$(PLATFORM)/SDKs/iPhoneSimulator3.2.sdk

glsllint: glsllint.c
    $(GCC) -arch $(ARCH) -isysroot $(ISYSROOT) -mmacosx-version-min=10.5 -framework OpenGLES \
    glsllint.c -o glsllint

Сам файл C минимален; он содержит только вызов glCreateShader(), так что я могу определить, правильно ли он связывается. Выше приведено выполнение исполняемого файла, но когда я пытаюсь запустить его:

dyld: Library not loaded: /System/Library/Frameworks/OpenGLES.framework/OpenGLES

Это неправильное место. Как мне сделать так, чтобы исполняемый файл искал фреймворк в правильном месте?

Я знаю, что это не поддерживается, но, блин, разве это не круто, если это сработает? Чтобы было ясно, я не ожидаю, что эта программа будет что-то рисовать, я просто хочу загрузить исходный код шейдера, использовать OpenGL для его компиляции и распечатать ошибки, если таковые имеются.

Сейчас вопрос в том, могу ли я создать исполняемый файл, который запускается?

1 Ответ

0 голосов
/ 25 октября 2010

У меня нет симулятора Mac или iPhone, поэтому я не могу решить этот аспект вопроса, но можете ли вы дать ссылку на другую библиотеку реализации OpenGL ES?Например, OpenTK или Vincent .

Может не соответствовать 100% реализации iPhone, но может приблизить вас.

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