2016-04-03 8 views
0

Ich arbeite mit Autodesk FBX-Dateien, daher habe ich eine Umgebungsvariable zur Systemtabelle hinzugefügt, die auf den FBX SDK-Installationsordner in einer dem DirectX-Standard env ähnlichen Weise verweist. Variable, wie folgt festgelegt:Falscher Umgebungsvariablenpfad, der in Visual Studio 2013 endet

FBXSDK_DIR = C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\ 

Und es funktioniert gut, zumindest bis ich beschlossen habe, eine VS2013 solution written in Japanes e zum Download, und plötzlich der Compiler beschwert sich über Einschlüssen; Kontrolle besser ist IntelliSense jetzt mein Umgebungsvariable zu sagen, wie es auf der Liste der Pfade erscheinen, ist dies:

C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2" 

, dass die Aufnahme sein verursacht:

C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2"include 

... statt:

C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include 

... und damit einen berechtigten Fehler werfen.

Nun, das erste, was mir in den Sinn kam, ist, dass es etwas mit Kodierung und Entweichen von Zeichen zu tun hat, aber ich habe keine Ahnung, ob ich eine Einstellung ändern kann, um es oder komplizierteres Zeug zu lösen. Gibt es eine Möglichkeit für mich, das zu beheben? Ohne die Lösung von Grund auf neu zu erstellen.


EDIT: Hier ist etwas lustiges; wenn ich in $(FBXSDK_DIR)"" im schreiben Fügen Sie Verzeichnisse, wird IntelliSense sagen die beiden Pfade (die Einschlüsse immer zweimal in der Liste erscheinen aus irgendeinem Grund) sind jetzt gelöst:

C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"\"\" 
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"""" 

Und wenn ich in $(FBXSDK_DIR)"""" schreiben es wird sein:

C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"\"\"\"\" 
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"""""" 

Antwort

0

Sieht aus wie Sie den Charakter \\ mit dem Symbol \ sind verwirrend. Die zweite ist das sogenannte Escape-Zeichen, mit dem der Compiler das nächste Zeichen in Ihrem Code ignoriert.

Also, wenn Sie einige Sonderzeichen in einem String verwenden möchten, wie \ oder " Sie haben \\ oder \" zu schreiben. Der zweite würde den Compiler den String schließen lassen.

Aus diesem Grunde

C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"\"\"\"\" 

zu

umgewandelt wird
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"""""" 

Der Compiler (oder Prä-Prozessor?) Meint, dass Sie einen String an den ersten " öffnen und entweicht die folgenden (ungültig) Zeichen.


Es wäre einfacher, den Fehler zu sehen, wenn Sie den Bremscode gepostet haben.

+0

Ich möchte nicht wie ein Idiot klingen, aber bitte lesen Sie meinen Thread: Ich weiß, "\" ist das Escape-Zeichen, und der Fehler, den ich postete, ist nicht im Code, sondern in der Art, wie Visual Studio zu lösen die Umgebungsvariable, die ich in meinen Systemeinstellungen eingestellt habe.:) – Banderi

+0

Wie genau setzen Sie die Umgebungsvariable? Dies: '$ (FBXSDK_DIR) = C: \ Programme \ Autodesk \ FBX \ FBX SDK \ 2016.1.2 \' sieht wie ein defekter Zeiger aus. – Corbie

+0

Rechtsklick auf Computer -> Eigenschaften -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariablen -> Neu ... Es ist nicht kaputt, es ist perfekt auf jede andere Lösung. Wie sieht es kaputt aus? – Banderi