2016-04-03 15 views
0

私はAutodesk FBXファイルを扱っているので、FBX SDKインテリジェンスフォルダを指すシステムテーブルに、DirectX標準envと同等の環境変数を追加しました。変数、次のように設定します。Visual Studio 2013で間違った環境変数パス

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

そして、私がVS2013 solution written in Japanes Eをダウンロードすることに決めました、少なくともまでは、うまく動作し、突然、コンパイラは介在物について不平を言います。より良いチェック、IntelliSenseのは、今、私の環境変数を言っているに含まれるパスのリストに表示されるように、このです:

するインクルージョンの原因
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2" 

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

...代わりに:

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

...このように正当なエラーが発生します。

明らかに、私の頭に浮かび上がったのは、エンコーディングやエスケープ文字と関係がありますが、設定を変更してより複雑なものを変更できるかどうかはわかりません。これを修正する可能性はありますか?ソリューションを最初から作り直す必要はありません。


EDIT:これは面白いものです。私は$(FBXSDK_DIR)""で書くディレクトリ含まれている場合、IntelliSenseは2つのパスが(介在物は常に何らかの理由でリストに2回表示)今すぐに解決されていると言うだろう:

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

そして私は$(FBXSDK_DIR)""""で書くならば次のようになります。

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

答えて

0

あなたはシンボル\で文字\\が混乱しているように見えます。 2番目はエスケープ文字と呼ばれ、コンパイラはコード内の次の文字を無視します。あなたが\または"のように、文字列の中にいくつかの特殊文字を使用したい場合は

は、だから、\\\"を記述する必要があります。 2つ目は、コンパイラが文字列を閉じることです。

これはなぜ

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

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

コンパイラに変換される(またはプリプロセッサは?)あなたが最初"で文字列を開くことを考えて、次の(無効)の文字をエスケープします。


制動コードを掲示した場合、間違いを見るのは簡単です。

+0

私は「\」がエスケープ文字であり、私が投稿したエラーはコードではなく、Visual Studioが解決することを決めた方法であることを知っています。システム設定で設定した環境変数。:) – Banderi

+0

環境変数はどのくらい正確に設定していますか? '$(FBXSDK_DIR)= C:¥Program Files¥Autodesk¥FBX¥FBX SDK¥2016.1.2¥'は壊れたポインタのように見えます。 – Corbie

+0

Computer - > Properties - > Advanced system settings - > Advanced - > Environment Variables - > New ... を右クリックしてください。それは壊れていません。どのように見えますか? – Banderi

関連する問題