2010-10-16 50 views
1

爲什麼我會想這麼做? OpenGL Shader Builder是一款出色的開發工具,但它使用桌面OpenGL編譯着色器,它允許ES不支持的一些事情。我想,如果我可以創建一個工具,鏈接到iPhone Simulator SDK中的OpenGLES.framework,我可以得到一些錯誤報告,而無需構建/安裝/運行我的應用程序。如何構建一個鏈接到iPhone Simulator SDK的命令行工具?

通過檢查出現在Xcode構建窗口的命令行,我就這樣(在M​​akefile文件格式,清晰度嚴重!):

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編譯它,並打印出錯誤(如果有的話)。

現在,問題是,我可以生成一個運行的可執行文件嗎?

回答

0

我沒有Mac或iPhone模擬器,所以我不能真正解決問題的這個方面,但可以鏈接到不同的OpenGL ES實現的庫嗎?例如。 OpenTKVincent

這可能不匹配iPhone的100%執行,但可能會讓你關閉。

+0

這是一個合理的建議,但我不確定我是否可以證明爲構建工具安裝完全不同的實現。 – benzado 2010-10-27 02:56:40

相關問題