我在一个小的tetris openGL项目中遇到此错误,我不知道如何解决(实际上是使用Visual Studio 2017)。
Error LNK2005 "unsigned int __cdecl Angel::InitShader(char const *,char const *)" (?InitShader@Angel@@YAIPBD0@Z) already defined in Angel.obj
这应该是有关initShader.cpp的代码的简化部分:
#include "Angel.h"
namespace Angel {
// Create a GLSL program object from vertex and fragment shader files
GLuint
InitShader(const char* vShaderFile, const char* fShaderFile)
这是Angel.h部分:
// Helper function to load vertex and fragment shader files
GLuint InitShader( const char* vertexShaderFile, const char* fragmentShaderFile );
这是Angel.cpp部分:
#include "Angel.h"
GLuint Angel::InitShader(const char* vertexShaderFile, const char* fragmentShaderFile)
{
return GLuint();
}
应该在语法上进行哪些更改以避免错误?