2016-04-13 15 views
0

Ich verwende Visual Community für C++. Ich habe versucht, GLFW mit Visual Community zu verbinden. Die Schritte, die ich durchlaufen habe, sind wie folgt:GLFW funktioniert nicht in Visual Community

  1. Verknüpfen Sie die Include-Verzeichnisse unter VC++ - Verzeichnisse.
  2. Verknüpfen Sie die Bibliotheksverzeichnisse unter VC++ - Verzeichnissen.
  3. Fügen Sie die LIB-Datei in zusätzliche Abhängigkeiten unter Linker> Eingang

Visuelle Gemeinschaft erkennt die Header #include <GLFW/glfw3.h> und anerkannt glfwInit() aber wenn glfwInit() genannt wird bewirkt, dass der Build fehlschlagen. Ich erhalte diesen Build-Fehler:

LNK4098: defaultlib 'MSVCRT' Konflikte mit der Verwendung anderer Bibliotheken; Verwendung/NODEFAULTLIB: Bibliothek

ich dann bekommen auch einige nicht aufgelöste externe:

Fehler LNK2019 nicht aufgelöstes externes Symbol __imp__vsnprintf in Funktion __glfwInputError verwiesen

LNK2001 nicht aufgelöstes externes Symbol __imp__vsnprintf

LNK2019 nicht aufgelöstes externes Symbol __imp__sscanf verwiesen in Funktion _parseVersionString

LNK2001 ungelöst externes Symbol __imp___vsnprintf

LNK1120 3 nicht aufgelöste externe

+0

Die Hauptlösung besteht darin, die gleiche Laufzeitbibliothek für alles zu verwenden. –

+0

Ich habe GLFW heruntergeladen, cmake ausgeführt, um Visual-2015-Projekte zu generieren (was standardmäßig der Fall war), die VS-Lösung geöffnet, die GLFW-Bibliothek und zwei der Beispielprogramme erstellt. Z.B. Das Beispielprojekt "windows" verwendet "Multi-threaded DLL (/ MDd)" und "Multi-threaded DLL (/ MD)" für Debug- bzw. Release-Builds. Anstatt die lib-Datei in den Projekteigenschaften hinzuzufügen, würde ich einfach eine Abhängigkeit vom GLFW-Projekt hinzufügen. Ich habe keine Ahnung, was das ZERO_CHECK-Projekt ist (das ist eine weitere Abhängigkeit für ein Beispielprogramm). Wahrscheinlich etwas CMake-Ding? –

Antwort

1

Sneaky ... wenn ich GLFW heruntergeladen es mehrere lib Ordner hatte (für die verschiedenen Versionen) und nur einen Ordner enthalten. Ich nahm an, dass der Include-Ordner für alle lib-Ordner funktionieren würde, da es nur einen gibt. Das war jedoch nicht der Fall, der Include-Ordner funktionierte nur für den neuesten lib-Ordner und ich habe versucht, den GLFW 2013 anstelle des letzten GLFW-lib-Ordners 2015 mit dem Include-Ordner zu verwenden. Ich benutzte 2013 GLFW, weil das die Version war, die die Tutorial-Serie, die ich gerade anschaute, verwendete, wenn Sie sich wunderten.

+0

Ich bestätige - Aktualisierung .h und .lib-Dateien auf die Version Ihres Visual Studio lösen Problem. Ich nahm sie von hier: http://www.glfw.org/download.html – user3057544