中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

error: stray '\377' in program

發布時間:2020-07-28 06:02:11 來源:網絡 閱讀:2874 作者:WZM3558862 欄目:開發技術

cygwin編譯報錯:**.cpp:1:1: error: stray '\377' in program解決方法

 2061人閱讀 評論(1) 收藏 舉報




編譯報錯內容:

[armeabi] Compile++ thumb: cocos2dcpp_shared <= HelloWorldScene.cpp

jni/../../Classes/HelloWorldScene.cpp:1:1: error: stray '\377' in program
jni/../../Classes/HelloWorldScene.cpp:1:1: error: stray '\376' in program
jni/../../Classes/HelloWorldScene.cpp:1:1: error: stray '#' in program
jni/../../Classes/HelloWorldScene.cpp:1:4: warning: null character(s) ignored [enabled by default]

jni/../../Classes/HelloWorldScene.cpp:1:6: warning: null character(s) ignored [enabled by default]

……

jni/../../Classes/HelloWorldScene.cpp:49:2: error: expected unqualified-id before '/' token
/cygdrive/e/cocos2d/Android-ndk-r9c-windows-x86/android-ndk-r9c/build/core/build-binary.mk:388: recipe for target 'obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/HelloWorldScene.o' failed
make: *** [obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/HelloWorldScene.o] Error 1
make: Leaving directory '/cygdrive/e/cocos2d/cocos2d-x-2.2.1/projects/GODS/proj.android'


在網上找了好幾下,沒能解決。

有的人說:可能是因為格式不是純粹的TXT格式子,而我用的編輯器沒能認出來。

也有的人說:這個錯誤一般是源代碼中含有一些隱藏的非ascii字符,可能原因在編輯器中使用的utf-8的格式保存源代碼中出現了中文的標點符號。

他們建議把東西copy到文本編輯器中,再copy回來試試

還有網友的建議是用UE(下載地址:http://lwr0312.blog.163.com/blog/static/48336807200931695730586/edit/)打開,用16進制編輯,刪除掉最前面多余的字節。

我對著操作,搞得暈乎乎,嗚嗚……沒有多余的字或者中文符號啊!并沒有解決問題。

后來終于看到一個帖子,里面的“gcc”幾個字,讓我看到了希望!!!下面附上地址:

http://wenku.baidu.com/link?url=_NgJPYtTUJ-WwLFEk38GgS_e5YdjYlltuc9E4oc4wvGHeGgk7OopTKzX66Epfg6MEYR1M7npZBnNkkwxwG7oRkZpxPgCIoVF6pTNYOYJ7YS

文中提及到“這是因為你的編譯器將文件編碼存為了UTF-8格式的,可是winavr作為gcc的編譯器是不認識這種格式的”,“將UTF-8改掉,改成US-ASIIC或者Chinese Simple(GB2312)都行,為什么Chinese Simple(GB2312)也行我也不知道,可能其他的也行只要不是UTF-8就行了”。

我這個原本是mac上的項目,移植到win的vs中時我把格式存為Unicode(當時錯了!如果當時就改為了ANSI就不會有這些報錯了!),現在從VS弄到安卓中(通過cygwin的gcc)要把格式另存為ANSI,然后就可以編譯通過了。

搞定,收工!終于,可以安心睡覺覺了!晚安,good night


不能手工 不能啊  這是別人的錯誤

ttps://loki-lib.svn.sourceforge.net/svnroot/loki-lib/trunk
把代碼檢出到本地,執行 make 后提示錯誤:
../../include/loki/StrongPtr.h:1: error: stray ‘/357’ in program
../../include/loki/StrongPtr.h:1: error: stray ‘/273’ in program
../../include/loki/StrongPtr.h:1: error: stray ‘/277’ in program
根據錯誤提示,應該是文件里存在非 ASCII 碼的字符,用 file 命令查看了一下 StrongPtr.h 的類型,發現是 Unicode text, UTF-8,而別的源文件則是 ASCII C++ program text,看來是 Loki 的某個維護者不小心把源文件存成 UTF-8 編碼的文件并在里面引入了非 ASCII 字符(UTF-8 編碼是一種兼容 ASCII 編碼的變長編碼方案)。上述的編譯錯誤中的字符是以 8 進制表示的,將其轉換成 16 進制后發現是”EF BB BF”,看著很眼熟——好像是 BOM(byte order mark) 控制字符,去維基百科里查一下 BOM 詞條,發現 UTF-8 文件的 BOM 果真是”EF BB BF”。而大多數 Windows 文件編輯器(包括記事本)在將文件保存為 Unicode 編碼時默認都會悄悄的在文件頭加上 BOM 字符且不會將其顯示出來(用 WinHex 之類的十六進制編輯器就打開則可以看到 BOM 字符),而 Linux 下卻沒這個默認的規矩,所以 Linux 下 g++ 不認 BOM 也是情理之中的。看來是 Loki 的維護者在 Windows 下修改代碼后不小心將 StrongPtr.h 存成 UTF-8 編碼文件,引入了肉眼看不到的 BOM 字符。后將 StrongPtr.h 另存為 ASCII 編碼的文件后果然編譯通過。
找到問題后去 Loki 的開發論壇上報告了這一問題,維護者之一的 syntheticpp 隨后修正了問題并在回帖里打趣的說:
Good to know “no BOMbs on Linux” ;-)
一語雙關的將 BOM 字符比作 BOMB(×××),呵呵,隱匿在文件里的 BOM 看不到摸不著,編譯時報告的錯誤也很不直白,大家在使用 Windows 下的文本編輯器編寫跨平臺代碼時要注意這個問題,建議使用 Notepad++ 這種可以顯式指定是否要加 BOM 字符的編輯器,以免挨炸。

  • 0





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

qt gr
AI

永川市| 永靖县| 天台县| 新绛县| 中阳县| 濮阳县| 仙游县| 镇沅| 晋江市| 沙雅县| 七台河市| 乐业县| 黄陵县| 安塞县| 武山县| 耒阳市| 杂多县| 开封县| 株洲市| 静安区| 昌乐县| 京山县| 延寿县| 上饶县| 泗水县| 张家界市| 子长县| 龙里县| 澄城县| 扶沟县| 渭南市| 芦溪县| 酉阳| 黔江区| 乌兰浩特市| 贵定县| 山东| 鹿邑县| 新龙县| 农安县| 贵溪市|