導航:首頁 > 源碼編譯 > vs編譯失敗中文

vs編譯失敗中文

發布時間:2023-03-08 16:57:13

Ⅰ vs2013運行出現問題,編譯不了,提示fatal error C1069: 無法讀取編譯器命令

文件路徑中含有中文且系統語言設置了使用 UTF-8 則可能出現此問題。

Ⅱ VS編譯錯誤,如何解決

在查找預編譯頭時遇到意外的文件結尾。是否忘記了向源中添加「#include "stdafx.h"」? 編譯器已經估計錯誤所在,你根據提示查找錯誤,在源文件中看看有沒有#include "stdafx.h"這句話

Ⅲ 出現中文符號時,編譯錯誤信息顯示什麼

Copyright © 1999-2020, CSDN.NET, All Rights Reserved



打開APP



System_sleep
關注
VS2019代碼中包含中文內容導致的編譯錯誤和列印輸出亂碼問題 原創
2022-06-25 17:45:47
2點贊

System_sleep

碼齡11年

關注
前言
在VS2019中,如果代碼中包含中文字元串定義或注釋,會導致各種莫名其妙的編譯錯誤,就算是運氣好,編譯沒有報錯,也會遇到控制台列印中文亂碼的問題,讓人倍感煩躁。

編譯問題
1. 代碼中定義了中文字元串常量導致編譯錯誤:「常量中有換行符「 ;
2. 代碼中包含中文注釋導致編譯錯誤:找不到XXX (宏、變數)、XXX不是常量/變數及由於找不到聲明導致的其他問題;

列印亂碼問題
代碼列印中文字元串,在命令提示符輸出是亂碼;

解決方法,三種方法任選其一:
一. 修改代碼文件格式為utf-8帶簽名,讓MSVC編譯器能夠自動識別並以utf-8 BOM格式載入文件:

使用外部編輯器將代碼文件保存為utf8-BOM格式;
或 打開代碼文件,在VS2019 「高級保存選項」 中將代碼文件保存格式選擇為「Unicode-帶簽名「;

二. 修改代碼格式:

修改中文字元串、中文注釋的格式,在中文結尾處添加英文空格,讓MSVC編譯器能夠以GBK編碼方式載入編譯中文utf-8編碼字元串,可以解決編譯報錯問題,列印還是亂碼;

三. 強制指定MSVC編譯器載入代碼文件的編碼格式:

在VS2019「項目」-「工程屬性」對話框-「C/C++」-「所有選項"子頁,在「附加選項」內添加 「/utf-8」 (等同於」/source-charset:utf-8 /execution-charset:utf-8");
在VS2019「項目」-「工程屬性」對話框-「C/C++」-"所有選項"子頁,在「附加選項」內添加 「/source-charset:utf-8 /execution-charset:gbk」 (前者表示文件本身的編碼,後者表示編譯以後的字元數組內的位元組是什麼編碼);

總結:
1. 如果是新建工程,推薦方法一,讓所有新建代碼文件都統一為utf-8 BOM 格式;
2. 如果是跨平台代碼,且文件包含少量中文注釋,可以嘗試方法二;
3. 如果是已有的歷史復雜工程(非使用工具導出的解決方案),可以嘗試方法三, 但需要注意設置execution-charset時,要同時考慮到UI顯示和列印二者對字元串編碼的要求(可能不一致);

Ⅳ vs2019源碼編譯qt5.16失敗

當在qt資源文件中加入過多圖片時(22Mb),編譯文件內容過大導致。編譯時出現,系統找不到指定文件,路徑使用絕對路徑,源代碼路徑含有中文字體,編譯時,源代碼找不到路徑。

Ⅳ VS2010編譯運行的程序輸出的中文都是亂碼

在vc6.0中默認的編碼是Ascii編碼,VS2010中默認的編碼是Unicode編碼,你可以設置你的VS2010編譯器中的字元編碼為Ascii ,你可以將代碼修改成
MessageBox(hwnd,(LPCWSTR)CString("OK"),(LPCWSTR)CString("顯示"),0);
就可以啦

Ⅵ 為什麼我的vs2010 總是編譯失敗

轉載:
連接器LNK是通過調用cvtres.exe完成文件向coff格式的轉換的,所以出現這種錯誤的原因就是cvtres.exe出現了問題。

在電腦裡面搜索一下cvtres.exe,發現存在多個文件,使用最新的cvtres.exe替換老的文件即可,替換之前記得備份一下,如果不對,可以替換回來。

例如:我的電腦裡面安裝了vs2010,最近更新了系統,打了一些補丁,結果就出現這種錯誤了。在電腦裡面搜索發現
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65
C:\Windows\Microsoft.NET\Framework\v4.0.30319

這三個路徑裡面都有cvtres.exe文件,於是我嘗試使用第二個路徑裡面的文件替換第一個路徑的文件,問題解決。

參考資料如下:
http://stackoverflow.com/questions/10888391/link-fatal-error-lnk1123-failure-ring-conversion-to-coff-file-invalid-or-c/14144713#14144713

閱讀全文

與vs編譯失敗中文相關的資料

熱點內容
linux壓縮分割 瀏覽:72
python的plot設置空心三角形連線 瀏覽:822
五個特徵怎麼用聚類演算法 瀏覽:471
cpu會增強編譯速度嗎 瀏覽:818
安卓版微信怎麼設置對方來電橫著 瀏覽:182
程序員一般要考個什麼證 瀏覽:598
命令與征服里 瀏覽:413
android線程是否運行 瀏覽:853
程序員不打工可以嗎 瀏覽:946
華為雲伺服器需要安裝殺毒軟體嗎 瀏覽:924
期刊采編源碼 瀏覽:386
可控硅單片機控制 瀏覽:243
培養程序員的輔導機構 瀏覽:788
java獲取url的文件名 瀏覽:747
全能掃描王怎麼把文件夾導出電腦 瀏覽:36
手機wifi打開無法連接到伺服器地址 瀏覽:131
python和php區別 瀏覽:340
如何把軟體部署到甲方本地伺服器 瀏覽:678
概念論pdf 瀏覽:186
lbph演算法是什麼 瀏覽:648