glut und OpenGL 3.3

Antworten
Mathias
Beiträge: 6197
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

glut und OpenGL 3.3

Beitrag von Mathias »

Könnte dies bitte mal einer unter einem nativen Windows testen.
Es könnte sein, das es mit wine nicht läuft.
Ich habe es mit win32/i386 kompiliert., da ich vermute, das meine glut32.dll 32Bit ist.

Bei mir kommt folgender Fehler.

Code: Alles auswählen

$ wine project1.exe 
An unhandled exception occurred at $00000000:
EAccessViolation: Access violation
  $00000000
  $00401A5D  $main,  line 120 of project1.lpr
Compiliere ich das Programm für Linux, funktioniert alles einwandfrei.
Dateianhänge
glut_core.zip
(95.72 KiB) 96-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

siro
Beiträge: 732
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: glut und OpenGL 3.3

Beitrag von siro »

Guten Morgen,

beim Starten kommt folgende Fehlermeldung:
LAZ_Error.png
LAZ_Error.png (10.93 KiB) 3410 mal betrachtet
Windows 11 64Bit Version: 23H2

Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 x86_64-win64-win32/win64

Zusatzinfo:
eine glut32 oder auch eine glut64 gibt es auf meinem System garnicht.
Deine mitgelieferte hab ich mal weggenommen, der Fehler bleibt aber identisch.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Mathias
Beiträge: 6197
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: glut und OpenGL 3.3

Beitrag von Mathias »

Ich bin ein Schritt weiter gekommen.

Ich musste da eine Zeile verschieben. Anscheinend wird zuerst der OpenGL Context gebraucht, bevor er die OpenGL Funktionen laden kann.
Jetzt läuft es wenigsten, wen man es als win32 compiliert.

Code: Alles auswählen

  procedure main;
  begin
    glutInit(@argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutInitWindowSize(500, 500);
    glutInitWindowPosition(100, 100);
    glutCreateWindow('GL RGB Triangle');
    Load_GL_VERSION_3_3();  // Verschoben

    glutDisplayFunc(@display);
    glutKeyboardFunc(@key_press);   
Bei win64 kann er nichts mit der DLL anfangen.

Code: Alles auswählen

An unhandled exception occurred at $000000010001AD00:
Exception: Could not load Glut from glut32.dll
Jetzt habe noch was anderes probiert. ich habe die DLL nach ~/.wine/drive_c/windows/system32 verschoben. Dann motzt er das er die DLL nicht findet. Verschiebe ich sie aber nach ~/.wine/drive_c/windows/system32 , dann funktioniert es.
Nach meiner Meinung echt komisch.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten