./20170311/241288.header
ADVERTISEMENT

Windows項目遷移到Linux總結,覺得好請收藏轉載

個人遷移過程總結:

1、採用Notepad將一個一個文件打開並另存為UTF8格式;

2、將含有中文字符的變量名稱重新修改;

3、將#pragma once改成宏定義的形式防止多重引用;

4、將Windows下的變量在Linux下改成typedef重定義一下;

5、將Windows API改寫成Linux對應的API或者自己實現;

6、將相關頭文件採用條件編譯進行區分,方便項目跨平台;

遇到的問題:

error: stray '7' in program

error: stray '3' in program

error: stray '7' in program

error: stray '#' in program

error: expected constructor, destructor, or type conversion before '<' token

這個問題困擾我幾個小時,明明行的開頭沒有任何東西,卻總是提醒,最後google發現是UTF8格式的問題,採用Notepad轉換時,默認是UTF8 BOM格式,所以最後採用了UltraEdit重新轉換成UTF8無BOM格式。

參考:http://www.cnblogs.com/lidp/archive/2009/06/17/1697886.html

經驗總結:

1、首先需要將文件格式改成UTF-8無BOM格式,可以使用Notepad++或者UltraEdit或者其他;

2、原先Windows下含有中文符號的變量需要修改;

3、#pragma once的語句必須要刪除,採用宏定義的方式防止文件多重引用;

4、將Windows下的變量在Linux下改成typedef重定義一下;

5、將Windows API改寫成Linux對應的API或者自己實現;

6、將相關頭文件採用條件編譯進行區分,方便項目跨平台;

如果您覺得文章值得閱讀,請轉發、收藏和點讚,謝謝!如有疑問可以在下面提問。

ADVERTISEMENT