您好,登錄后才能下訂單哦!
本文檔適用于在RealEvo-IDE開發環境下移植C++工程的用戶,使用者應熟悉使用RealEvo-IDE開發環境,并具備C++語言編程的基礎知識。
在使用之前,須安裝有翼輝信息開發的集成開發套件,由于系統上安裝的防火墻軟件或者殺毒軟件可能會影響到集成開發軟件的使用,因此,在使用本套件前請關閉計算機上的windows防火墻以及殺毒軟件。
因后續操作需要在模擬器上進行展示,所以在進行后續章節操作前,請完成mini2440模擬器的配置并啟動,具體配置步驟請參考圖2-1中《mini2440模擬器配置啟動》。
移植C++工程前,應從客戶處或通過其他方式獲得相關C++工程源碼,并確保工程源碼的正確性。本次技術筆記資源準備如圖2-1所示。
圖 2-1 資源準備
其中:mini2440_base文件為本次移植依賴的base工程,C++工程源碼文件為本次移植的工程源碼。
雙擊打開RealEvo-IDE軟件,選擇菜單“File-Import”,彈出界面如圖3-1所示。
圖3-1 導入工程
點擊“Next”,彈出如圖3-2所示界面。
圖3-2 導入mini2440_base工程
點擊“Finish”,完成mini2440_base工程的導入。
新建c++_app工程,操作步驟如圖3-3所示(新建c++工程時候,請勾選圖3-3中第五步的選項)。
圖3-3 新建c++_app工程
點擊“Next”,彈出如所圖3-4示界面。
圖3-4 base工程選擇
點擊“Finish”,完成c++_app工程的創建。
刪除c++_app工程中的c++_app.cpp文件,然后將圖2-1所示的源文件導入到src目錄下,如圖3-5所示(可以直接進行復制粘貼)。
圖3-5 導入c++_app工程源文件
選中c++_app工程,右擊工程選擇“Properities”選項,設置c++_app工程的頭文件路徑,如圖3-6所示(本次c++工程依賴頭文件較多,實際移植過程以實際情況為準)。
圖3-6 配置頭文件路徑
點擊“apply”,然后進行目標設備創建,如圖3-7所示(本次移植在mini2440模擬器上演示,實際移植過程以實際情況為準)。
圖3-7 設置目標機IP
點擊“apply”,進行依賴的庫設置,操作步驟如圖3-8所示。
圖3-8 依賴庫設置
注:本例中c++_app工程需要依賴glib246.so,XCore.so,proxy.so,實際情況根據移植需要選擇依賴的庫文件。
配置完成后,編譯c++_app工程,操作如圖3-9所示。
圖3-9 編譯工程
編譯完成后,上傳工程,操作如圖3-10所示。
圖3-10 上傳工程
執行3.5節中上傳的文件,操作如圖3-11所示。
圖3-11 執行目標程序
可以得到如圖3-12所示結果。
圖3-12 程序執行結果
在編譯階段,可能會遇到頭文件找不到路徑的錯誤,如圖4-1所示。
圖4-1 頭文件路徑錯誤
解決這類問題的方法為修改工程屬性,加入相應的頭文件路徑,如圖4-2所示。注意添加頭文件路徑時,不要拷貝頭文件,只需要把相應的頭文件路徑添加正確即可。
圖4-2 加入頭文件路徑
在執行階段,遇到找不到symbol的錯誤,如圖4-3所示。
圖4-3 symbol錯誤
此類問題總結原因如下:
1. 結構體未定義
2. 變量為定義
3. 函數未定義
解決方法為:在SourceInsight中或者RealEvo-IDE下全局搜索,找到該symbol定義的地方,如果沒有定義請根據語義或者在其本來環境下的定義實現該symbol的定義,如果已經定義,則可能是該文件沒有加入編譯。
由于c++中存在方法重載,所以編譯器存在命名粉碎規則,此類問題解決方案參考C++編譯器的命名粉碎規則。
本文檔介紹了SylixOS下移植C++工程的過程,并介紹移植過程中可能出現的問題以及解決相應問題的思路。
《RealEvo-IDE APP使用手冊》
《Linux工程移植到SylixOS技術筆記》
關于C++命名修飾的資料:
http://hipercomer.blog.51cto.com/4415661/855223
http://blog.sina.com.cn/s/blog_67ae19eb0101aygx.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。