OSX Version: 10.13 - High SierraWie erstelle ich ein einfaches OpenGL-Fenster auf dem Mac?
Macbook Pro Ende 2011
Xcode: 9
Level: Anfänger
ich an der OpenGL Programming Guide in Apple-doc sah, aber die Dokumentation war nicht so freundlich, also habe ich es noch nicht ausprobiert.
Ich habe google research und youtube darüber, wie man einfach ein Fenster für den Anfang erstellt, habe ich erfolgreich ein Fenster mit Rechteck meiner gewünschten Farbe mit XCode erstellt. Aber es war OpenGL v2 und es gab viele verwarnungen.
Ich möchte außerhalb von XCode Umgebung OpenGL entwickeln, aber ich nicht, es zu kompilieren und hier ist mein main.cpp
#include <stdlib.h>
#include <OpenGL/gl.h>
#include <GLUT/glut.h>
void display() {
glClearColor (1.f, 0.f, 0.f, 1.f);
glClear (GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glFlush();
}
int main (int argc, char** argv) {
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_SINGLE);
glutInitWindowSize (640, 480);
glutInitWindowPosition (100, 100);
glutCreateWindow ("Baby GL");
glutDisplayFunc (display);
glutMainLoop();
return 0;
}
I vscode + vim als Haupttexteditor
Hier bin mit ist wie i kompilieren die main.cpp im Terminal:
g++ -pipe --std=c++14 main.cpp -lm
ich habe versucht, sie ohne Code in das Haupt- und die Bibliotheken kompilieren in
7 warnings generated. // just deprecation warning
Undefined symbols for architecture x86_64:
"_glClear", referenced from:
display() in main-26b0d3.o
"_glClearColor", referenced from:
display() in main-26b0d3.o
"_glFlush", referenced from:
display() in main-26b0d3.o
"_glLoadIdentity", referenced from:
display() in main-26b0d3.o
"_glutCreateWindow", referenced from:
_main in main-26b0d3.o
"_glutDisplayFunc", referenced from:
_main in main-26b0d3.o
"_glutInit", referenced from:
_main in main-26b0d3.o
"_glutInitDisplayMode", referenced from:
_main in main-26b0d3.o
"_glutInitWindowPosition", referenced from:
_main in main-26b0d3.o
"_glutInitWindowSize", referenced from:
_main in main-26b0d3.o
"_glutMainLoop", referenced from:
_main in main-26b0d3.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Es löste mein Problem, vielen Dank: D – lambda