Dzień dobry, postanowiłem pouczyć się GLFW - robiłem wszystko według kursu i kiedy chciałem skompilować kod, nie działa ( mam tak samo jak On ) - na chińskim blogu znalazłem jak to rozwiązać (#ifndef __APPLE__ i #endif), ale teraz program mi się kompiluje lecz nie działa / odrazu nie kończy. Próbowałem kody przykładowe. Kiedy zmniejszę dyrektywę wtedy mam błąd funkcji w main'ie, a gdy ją powiększę to mam błąd main'a - np. "Undefined symbols for architecture x86_64: "_glfwCreateWindow", referenced from: _main in main.o" itd.
#include <GLFW/glfw3.h> //Biblioteka
#include <iostream>
constexpr int WIN_X = 1280, WIN_Y = 720; //Rozmiary
int main(int argc, const char * argv[]) {
#ifndef __APPLE__
glfwInit(); //Inicjowanie biblioteki
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // Ustawianie wersji
GLFWwindow* window = glfwCreateWindow(WIN_X, WIN_Y, "OpenGL", nullptr, nullptr); //Preferecje okna - Szerokość, nazwa i coś tam jeszcze
if(!window) //Jeżeli nie powiodło się stworxzenie okna
std::cout << "Nie powiodło się";
return 1;
glfwMakeContextCurrent(window); //przypisujemy kontekst do wątku okna
while (!glfwWindowShouldClose(window)) { //Główna pętla - tu będzie mechanika gry
if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS){
glfwSetWindowShouldClose(window, 1);
}
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate(); //"Zabijanie" okna
return 0;
#endif
}