東方算程譚

επιστημηがヨタをこく、弾幕とは無縁のCUDAなタワゴト

無害な warning を黙らせる

Visual Studio に CUDA Toolkit をインストールし、プロジェクト・テンプレートに追加された CUDA Runtime でひな型プロジェクトを吐かせると、プロジェクト内には小さなコード:kernel.cuがひとつぽつんと作られます。

ともかくもビルドしてみると...exeができてはくれるものの、kernel.cuのコンパイル中に warning: C4819 がざくざく出てきます。

f:id:Episteme:20161015230831p:plain

コレ、CUDA Toolkit が提供してるヘッダが暗黙裡に#includeされ、しかもそのヘッダがUTF-8 encodingであることに起因します。

Visual C++ はdefault-encodingを CP932(shift-jis) としてるところに UTF-8 文字が混じるもんだから encoding の不整合を見つけて warning を吐いてるんですな。実害はないとはいえコンパイルのたんびに山ほどの warning を見せられるのは精神衛生上よろしくありません。

この warning を黙らせるには プロジェクト・プロパティ: CUDA C/C++ : Command Line に -Xcompiler -wd4819 を設定します。

f:id:Episteme:20161015231040p:plain

(original: 2015-04-03)