CUDA warning C4819的消除

問題描述:在使用VS2010編譯CUDA程序時,有不少C4819警告:html

warning C4819:The file contains a character that cannot be represented in the current codepage (936). Save the file in Unicode format to prevent data loss;這個警告的意思是:在該文件中有一個或多個字符不是Unicode字符!要求把這個字符變成Unicode字符防止數據丟失。這個警告跟代碼自己無關,並不會影響代碼的運行,但刷屏的warning使得對程序debug變得困難起來。網絡

解決方法:編碼

方法一)     在「項目」-> 「屬性」 -> 「配置屬性」 -> 「CUDA C/C++」 -> 「Command Line」的「其餘選項(D)」中添加:spa

-Xcompiler "/wd 4819"debug

方法二)     轉換Code文件爲Unicode格式。打開出現warning的文件,Ctrl+A全選,而後在文件菜單:file->advancedsave options ,在彈出的選項中選擇新的編碼方式爲:UNICODE codepage 1200 ,點擊肯定,問題就解決了。code

方法三)     在「項目」-> 「屬性」 -> 「配置屬性」 -> 「C/C++」 -> 「高級」的「禁用特定警告」中添加相應的警告編號:4819;orm

方法四)     找出非Unicode格式的文件,而後在該文件的開始處加入下面的語句:htm

# pragma warning(disable:4819)it

上述四種方法,第一種是在官方的工程文件中找到的,其餘都是在網絡上收到的,正真有效的也就是第一種,第二種方法過於繁瑣,不切合實際,其餘方法都沒發現有什麼做用,應該不是針對CUDA的。io

相關文章
相關標籤/搜索