解决调用 cuda 库函数时出现 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

最近在写cuda加速,发现无论是用vs2015还是在命令行直接编译.cu文件,都出现  warning C4819:请将该文件保存为 Unicode 格式以防止数据丢失。如下图所示:

解决调用 cuda 库函数时出现 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

原因是相应路径下的cuda_runtime_api.h、sm_20_intrinsics.h文件格式出现问题,需要重新保存一下。这里需要强调的一点是因为C盘文件不能随便更改,一般需要管理员权限才执行文件操作。

所以第一步,以管理员身份运行VIisual Studio 2015(本人用的vs2015),打开相应项目,重新生成解决方案后,右键单击上面任意一条warning C4819,目的是定位文件的位置。

第二步 在VS中选择文件->高级保存选项

                                       解决调用 cuda 库函数时出现 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

                           解决调用 cuda 库函数时出现 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

如上图选择的那样,注意,一定要选择UTF-8 签名 ,之后点击确定,选择保存所有文件。

最后点击重新生成解决方案,看一看,是不是警告问题没有了。