我试图将我的一个应用程序移至使用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