1

コンパイルするマシンが Windows 7 SP1 を実行しているかどうかに基づいた条件付きコンパイルが必要です。

http://support.microsoft.com/kb/2517589の回避策がありますが、 #ifdef _WIN7_SP1 で保護されていない限り、コードをチェックインしたくありません。そうしないと、他の開発者がコンパイルできなくなりますwin7-sp1 以外のマシンで。

私は少しグーグルを持っていましたが、役に立つものは何も見つかりませんでした。

4

1 に答える 1

2

あなたはそうしない。ビルド マシンの環境にあるものは、通常、そのようにコンパイルを汚染しません。(もしそれが起こったら、それがビルドの再現性にどのような影響を与えるか想像してみてください。)

本当に必要な場合は、代わりにビルド システム (make、Visual Studio など) に、現在の Windows バージョンをチェックし、必要に応じて失敗するプログラムを実行させます (または、ビルド システムが既にこれを判断できる可能性があります)。それに基づいてWIN7_SP1、コンパイラへのコマンドライン引数を介して、条件付きで独自の定義を作成できます。

于 2012-05-14T02:50:03.090 に答える