我試圖將我的一個應用程序移至使用Swift。它包含一個OpenGL繪製循環(也包含一些Cocoa語句 - 是的,我意識到它可能是一個類的可怕混亂),所以我已將原始.m & .h文件複製到我的新項目中並添加了* -Header.h文件。我還添加了一個構建階段來與OpenGL.framework鏈接(雖然我不確定我需要什麼,但對問題沒有影響)。在Swift項目中使用OpenGL
本來我從蘋果公司的例子OpneGL項目大舉借債,我試圖編譯其中一個文件中有:
#include "sourceUtil.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#import <OpenGL/OpenGL.h>
demoSource* srcLoadSource(const char* filepathname)
{
demoSource* source = (demoSource*) calloc(sizeof(demoSource), 1);
// Check the file name suffix to determine what type of shader this is
const char* suffixBegin = filepathname + strlen(filepathname) - 4;
if(0 == strncmp(suffixBegin, ".fsh", 4))
{
source->shaderType = GL_FRAGMENT_SHADER;
}
else if(0 == strncmp(suffixBegin, ".vsh", 4))
{
source->shaderType = GL_VERTEX_SHADER;
}
else
{
// Unknown suffix
source->shaderType = 0;
}
// more code follows
.
}
然而,GL_FRAGMENT_SHADER導致的Xcode停止與錯誤任何構建「使用未聲明的標識符'GL_FRAGMENT_SHADER'「 - 與GL_VERTEX_SHADER類似。我認爲會有更多的錯誤,但目前這是Xcode停下來的。
你可能需要'#進口' –
seb
@seb你可以把作爲答案,我會紀念它,謝謝。 – Todd