2013-10-09 4 views
-1

J'ai un petit programme C++ de base que j'ai construit dans Visual Studio 2012 qui utilise GLFW et OpenGL mais chaque fois que mon ami essaie de l'exécuter sur sa machine Windows 8, il plante immédiatement sans information supplémentaire running ')Pourquoi mon programme OGL ne fonctionne pas sur Windows 8?

Maintenant, la fenêtre de commande du programme s'ouvre, ce qui précède la fenêtre actuelle de glfw qui ne s'ouvre pas. Donc je pense que c'est peut-être l'échec de l'ouverture ou de l'ouverture de la fenêtre elle-même?

Quelques détails:

  • La version qu'elle a été construite dans la version.
  • machine à Win8 est 64 bits, le programme est construit sur une machine x64 32
  • I liés statiquement/MT dans la construction donc il ne devrait pas être une dll msvc manquantes émet
  • Cela m'a obligé à reconstruire GLFW pour lier statiquement aussi bien
  • Je ne suis pas d'utiliser d'autres bibliothèques, la seule chose ajoutée à l'entrée de liaison est « glfw3.lib; opengl32.lib; glu32.lib »

Et enfin voici un extrait de mon code de création de fenêtre:

glfwWindowHint(GLFW_RESIZABLE, 0); 
m_window = glfwCreateWindow(winSize.x, winSize.y, windowName.c_str(), NULL, NULL); 

if(!m_window) 
    throw std::exception("Window failed to create"); 

glfwGetFramebufferSize(m_window, &m_windowSize.x, &m_windowSize.y); 
glfwMakeContextCurrent(m_window); 

Des pensées de choses que je peux essayer? Je peux télécharger l'exe si quelqu'un veut l'essayer sur leur machine.

+0

Est-ce que GLFW_RESIZABLE est vraiment la seule indication que vous transmettez? La documentation de l'API semble indiquer que vous devez appeler 'glfwDefaultWindowHints (...)'. Le langage est un peu vague, car cela peut signifier que les valeurs par défaut ne sont jamais initialisées ou qu'elles ne sont simplement pas réinitialisées après la création: * Les astuces ne sont plus réinitialisées à leurs valeurs par défaut lors de la création de la fenêtre. Pour définir les valeurs d'indice par défaut, utilisez 'glfwDefaultWindowHints (...). * Cela étant dit, si GLFW3 ne peut obtenir qu'un format de pixel GDI, il ne créera pas de fenêtre, ce que je ne peux pas imaginer sur une machine Win8; On ne sait jamais. –

Répondre

1

Dites à votre ami d'installer les pilotes graphiques téléchargés à partir du site Web du fabricant de GPU. Les pilotes graphiques livrés avec Windows ne disposent pas du support OpenGL approprié.

Questions connexes