2

これは非常に奇妙な質問ですが、Visual Studio 2010/2012の設定で、ソースコードに触れることなく、_WIN32定義を解除して定義することは可能ですか?__GNUC__

_WIN32「C/C++->プリプロセッサ->プリプロセッサ定義の定義解除」(これは)で追加しましたが、VisualStudioIDEでは受け入れ/U"_WIN32"られないようです。

これを行う理由は、VisualStudioIDEとインテリセンスを使用してコードのLinux/Mac部分を作成するためです。もちろん、これはコンパイルされませんが、インテリセンスが正しく解析して役立つ限り__GNUC__、私は大丈夫です。オートコンプリートやその他の機能が必要です。

たぶん誰かが私がLinux用のビジュアルスタジオを使用している理由を議論したいですか?さて、すべてのvcxproj / slnはすでにウィンドウ用に構成されているので、それを利用したいと思います。だから..ソースインサイト、emacsタグなどの他のオプションについては議論しないでください...

4

2 に答える 2

4

私もこの問題に遭遇し、グローバルに含まれるヘッダーで次のことを行うことで問題を回避することができました。1つはすでに使用されていたので、ヘッダーをどこにでも含める必要はありませんでした。

#ifdef _WIN32
#undef _WIN32
#endif
于 2013-10-01T20:25:15.347 に答える
1

プリプロセッサマクロ_WIN32は、Microsoftコンパイラを使用する場合は常に定義されており、再定義/未定義にすることはできません(ソース:http ://msdn.microsoft.com/en-us/library/b0084kay(v = vs.80).aspx )

于 2013-02-23T00:43:48.360 に答える