Ergebnis 1 bis 3 von 3
  1. #1
    ɃǐᴛċἨ ♥ ᴌṓⱴἐ Avatar von CreativeFrags
    Registriert seit
    25.03.2006
    Beiträge
    170

    Frage glew & glfw einbinden

    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
    Geändert von CreativeFrags (28.02.2012 um 04:32 Uhr)


  2. #2
    Trojaner Avatar von SleiZer
    Registriert seit
    27.10.2008
    Beiträge
    81

    Standard AW: glew & glfw einbinden

    Wo in deinem Programm wirste denn rausgeworfen?
    Haste es mal durch den debugger laufen lassen und
    breakpoints gesetzt?

  3. #3
    ɃǐᴛċἨ ♥ ᴌṓⱴἐ Avatar von CreativeFrags
    Registriert seit
    25.03.2006
    Beiträge
    170

    Standard AW: glew & glfw einbinden

    sofort beim initialisieren komischerweise, die fenster blinken nur kurz auf und dann is ende...

    und ne , hab ich nicht, da ich wenn ich ehrlich bin keine ahnung hab wo genau ich sie setzten sollte... das witzige is ja auch wenn ich 1, 2 sachen änder, dann geht es zwar, aber dafür zeichnet er nix sprich es funzt auch nich....

    bin da echt nach und nach am verzweifeln -.-


Ähnliche Themen

  1. Exe einbinden?
    Von sunny-boy3 im Forum .NET Sprachen - Techniken
    Antworten: 4
    Letzter Beitrag: 20.07.2009, 20:20
  2. [VB6] Dll einbinden und verwenden
    Von hoschi111 im Forum VisualBasic
    Antworten: 5
    Letzter Beitrag: 09.07.2008, 19:17
  3. festplatte einbinden
    Von d3rem0 im Forum Linux und UNIX-Systeme
    Antworten: 3
    Letzter Beitrag: 04.07.2008, 03:19

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •