簡體   English   中英

Linux下Visual Studio和gcc之間的C ++兼容性

[英]C++ compatibility between Visual Studio and gcc under Linux

我正在嘗試使用Linux下的QtCreator構建在VS 2008中編寫的項目,並且我遇到了大量錯誤:

/home/ga/dev/CppGroup/MonteCarlo/main.cpp:1: error: stray ‘\377’ in program
/home/ga/dev/CppGroup/MonteCarlo/main.cpp:1: error: stray ‘\376’ in program
/home/ga/dev/CppGroup/MonteCarlo/main.cpp:1: error: stray ‘#’ in program
/home/ga/dev/CppGroup/MonteCarlo/main.cpp:1: warning: null character(s) ignored

等等

這是否意味着編譯器無法正確處理unicode? 我該如何解決?

這看起來像小端UTF-16的UTF-16 BOM 您需要確保文件保存為UTF-8或通過iconv -f UTF-16LE -t UTF8 myfile手動轉換。

確保文件以UTF-8編碼。 使用文本編輯器打開它,允許您選擇文件編碼(例如gedit或notepad ++)並進行轉換。 我之前遇到過類似的問題,但是UTF-8文件工作正常(其他編碼如UTF-16不起作用)。

編輯:不要將您的資源腳本(如果有的話)轉換為UTF-8。 資源編譯器將無法讀取它(至少在使用MSVC 2008時)。

可能是您的文件使用Windows編碼,其中包含^ M,\\ r \\ n等字符...您是否曾嘗試在編譯之前在源文件上運行dos2unix?

我想我已經在unicode文件中看到了'stray ...'。

您可以配置編輯器或控制台(或兩者)編碼設置來修復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM