Hallo liebe C++ Coder.
Ich lerne seit einigen Tagen nun C++ und nutze den "Microsoft Visual C++ 2010 Express" Compiler,
Seit heute dachte ich mir versuche ich mich an OpenGL, habe mir einige Tutorials dazu angeguckt und ein ziemlich gutes gefunden welches mit
"Glew" und "Glfw" funktioniert.
Nur kriege ich die Biblotheken anscheinend nicht ordentlich eingebunden, ich habe keine Syntaxmarkierungen also sollten die stimmen..
kriege folgenden Fehler beim Debuggen:
Code:
1>------ Erstellen gestartet: Projekt: OpenGL - NEU, Konfiguration: Debug Win32 ------
1> main.cpp
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwSwapBuffers" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwGetWindowParam" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwSetWindowTitle" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwOpenWindow" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwOpenWindowHint" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_glfwInit" in Funktion "_main".
1>c:\Users\XXXXXXXX\Documents\Visual Studio 2010\Projects\OpenGL - NEU\Debug\OpenGL - NEU.exe : fatal error LNK1120: 6 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
hoffe auf schnelle hilfe, bin heiß drauf :p
EDIT
Ok das Problem hab ich behoben bekommen...
nun hab ich allerdings folgendes problem das er das hier macht:
Code:
"OpenGL - NEU.exe": "C:\Users\USERNAME\Documents\Visual Studio 2010\Projects\OpenGL - NEU\Debug\OpenGL - NEU.exe" geladen, Symbole wurden geladen.
"OpenGL - NEU.exe": "C:\Windows\System32\ntdll.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\kernel32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\KernelBase.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\glew32.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
"OpenGL - NEU.exe": "C:\Windows\System32\opengl32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\msvcrt.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\advapi32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\sechost.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\rpcrt4.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\gdi32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\user32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\lpk.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\usp10.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\glu32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\ddraw.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\dciman32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\setupapi.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\cfgmgr32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\oleaut32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\ole32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\devobj.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\dwmapi.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\msvcp100d.dll" geladen, Symbole wurden geladen.
"OpenGL - NEU.exe": "C:\Windows\System32\msvcr100d.dll" geladen, Symbole wurden geladen.
"OpenGL - NEU.exe": "C:\Windows\System32\imm32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\msctf.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\nvinit.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\uxtheme.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\winmm.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Users\Hannes\AppData\Local\FLVService\lib\FLVSrvLib.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
"OpenGL - NEU.exe": "C:\Windows\System32\shell32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\shlwapi.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\cryptbase.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\ig4icd32.dll" geladen, Cannot find or open the PDB file
"OpenGL - NEU.exe": "C:\Windows\System32\winmm.dll" entladen.
Das Programm "[6592] OpenGL - NEU.exe: Systemeigen" wurde mit Code 1 (0x1) beendet.
Resultat: das OpenGl window ist ganz kurz einmal da und gleich wieder weg.... ://
mein source:
Code:
#define GLEW_NO_GLU
#define GLFW_NO_GLU
#include <GL/glew.h>
#include <GL/glfw.h>
#include <iostream>
using namespace std;
int main()
{
if(glfwInit() == GL_FALSE)
{
cerr<<"GLFW FAIL";
return 1;
}
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
if(glfwOpenWindow(800,600,0,0,0,8,8,8,GLFW_WINDOW) == GL_FALSE)
{
cerr<<"OPEN WINDOW FAIL";
return 1;
}
glfwSetWindowTitle("OpenGL - NEU");
if(glewInit() != GLEW_OK)
{
cerr<<"GLEW FAIL";
return 1;
}
GLchar* vertexshadersrc="#version 330\n"
"in vec4 position;"
"void main()"
"{"
"gl_Position=position;"
"}";
GLchar* fragmentshadersrc="#version 330\n"
"out vec4 color;"
"void main()"
"{"
"color=vec4(1.0f,0.0f,0.0f,1.0f);"
"}";
GLuint vertexshader = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertexshader, 1, (const GLchar**)&vertexshadersrc, 0);
glCompileShader(vertexshader);
GLint compile_ok;
GLint errlength;
GLchar* errmsg;
glGetShaderiv(vertexshader, GL_COMPILE_STATUS, &compile_ok);
if(compile_ok == GL_FALSE)
{
glGetShaderiv(vertexshader, GL_INFO_LOG_LENGTH, &errlength);
errmsg = new GLchar[errlength];
glGetShaderInfoLog(vertexshader, errlength, &errlength, errmsg);
cerr<<errmsg;
return 1;
}
GLint fragmentshader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragmentshader, 1, (const GLchar**)&fragmentshadersrc, 0);
glCompileShader(fragmentshader);
glGetShaderiv(fragmentshader,GL_COMPILE_STATUS, &compile_ok);
if(compile_ok == GL_FALSE)
{
glGetShaderiv(fragmentshader, GL_INFO_LOG_LENGTH, &errlength);
errmsg = new GLchar[errlength];
glGetShaderInfoLog(fragmentshader, errlength, &errlength, errmsg);
cerr<<errmsg;
return 1;
}
GLuint programm = glCreateProgram();
glAttachShader(programm, vertexshader);
glAttachShader(programm, fragmentshader);
glLinkProgram(programm);
glDeleteShader(vertexshader);
glDeleteShader(fragmentshader);
GLfloat vertex[]=
{
-0.7f,-0.5f,0.0f,
0.7f,-0.5f,0.0f,
0.0f, 0.5f,0.0f
};
GLuint vertexbuffer;
glGenBuffers(1, &vertexbuffer);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertex), vertex, GL_STATIC_DRAW);
GLuint position = glGetAttribLocation(programm, "position");
glVertexAttribPointer(position, 3, GL_FLOAT, GL_FALSE, sizeof(GLfloat)*3, (void*)0);
glUseProgram(programm);
glEnableVertexAttribArray(position);
while(glfwGetWindowParam(GLFW_OPENED))
{
glClear(GL_COLOR_BUFFER_BIT);
glDrawArrays(GL_TRIANGLES, 0, 3);
glfwSwapBuffers();
}
}
greez
CreativeFrags