utf-8で保存しているはずなのに...
ファイルはutf-8のはずなのにこのwarning C4819がうるさい。いろいろ調べていった結果コメントに含まれる日本語が原因なことがあるらしい。ということで、コメントの削除とコンパイルを繰り返してどの文字が原因かを二分探索した結果、文字数が多くなるとこの警告がでてくることが分かった。
環境情報
- Windows11
- NVCC
- Microsoft Visual Studio 2022
エラーがでるソースコード。
hellowworld.cu
#include <iostream>
int main(){
//あああああああああああああああ
std::cout << "Hello, World" << std::endl;
}
helloworld.cu
helloworld.cu(1): warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいま
す。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
helloworld.cu(1): warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいま
す。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
ライブラリ a.lib とオブジェクト a.exp を作成中
警告がでないプログラム。
helloworld.cu
#include <iostream>
int main(){
//ああああああああああああああ
std::cout << "Hello, World" << std::endl;
}
helloworld.cu
ライブラリ a.lib とオブジェクト a.exp を作成中
変更点はコメントの"あ"を1文字削除しただけ。ワケガワカラナイ...
まとめ
コメントの文字数を減らすとなくなるかも??
追記
visual studioでutf-8 (BOM付き)を選択することで解決できました。