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

溫馨提示×

溫馨提示×

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

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

SylixOS下移植C++工程

發布時間:2020-04-07 18:38:39 來源:網絡 閱讀:693 作者:渀波兒 欄目:編程語言

1.使用范圍

    本文檔適用于在RealEvo-IDE開發環境下移植C++工程的用戶,使用者應熟悉使用RealEvo-IDE開發環境,并具備C++語言編程的基礎知識。

2. 準備工作

2.1 環境準備

    在使用之前,須安裝有翼輝信息開發的集成開發套件,由于系統上安裝的防火墻軟件或者殺毒軟件可能會影響到集成開發軟件的使用,因此,在使用本套件前請關閉計算機上的windows防火墻以及殺毒軟件

    因后續操作需要在模擬器上進行展示,所以在進行后續章節操作前,請完成mini2440模擬器的配置并啟動,具體配置步驟請參考圖2-1中《mini2440模擬器配置啟動》。

2.2 資源準備

    移植C++工程前,應從客戶處或通過其他方式獲得相關C++工程源碼,并確保工程源碼的正確性。本次技術筆記資源準備如圖2-1所示。

SylixOS下移植C++工程

圖 2-1 資源準備

    其中:mini2440_base文件為本次移植依賴的base工程,C++工程源碼文件為本次移植的工程源碼。

3. 技術實現

3.1 導入base工程

    雙擊SylixOS下移植C++工程打開RealEvo-IDE軟件,選擇菜單“File-Import”,彈出界面如圖3-1所示。

SylixOS下移植C++工程

圖3-1 導入工程

    點擊“Next”,彈出如圖3-2所示界面。

SylixOS下移植C++工程

圖3-2 導入mini2440_base工程

    點擊“Finish”,完成mini2440_base工程的導入。

3.2 新建c++_app工程

    新建c++_app工程,操作步驟如圖3-3所示(新建c++工程時候,請勾選圖3-3中第五步的選項)。

SylixOS下移植C++工程

圖3-3 新建c++_app工程

    點擊“Next”,彈出如所圖3-4示界面。

SylixOS下移植C++工程

圖3-4 base工程選擇

    點擊“Finish”,完成c++_app工程的創建。

3.3 導入c++_app工程的源文件

    刪除c++_app工程中的c++_app.cpp文件,然后將圖2-1所示的源文件導入到src目錄下,如圖3-5所示(可以直接進行復制粘貼)。

SylixOS下移植C++工程

圖3-5 導入c++_app工程源文件

3.4 配置c++_app工程

    選中c++_app工程,右擊工程選擇“Properities”選項,設置c++_app工程的頭文件路徑,如圖3-6所示(本次c++工程依賴頭文件較多,實際移植過程以實際情況為準)。

SylixOS下移植C++工程

圖3-6 配置頭文件路徑

    點擊“apply”,然后進行目標設備創建,如圖3-7所示(本次移植在mini2440模擬器上演示,實際移植過程以實際情況為準)。

SylixOS下移植C++工程

圖3-7 設置目標機IP

    點擊“apply”,進行依賴的庫設置,操作步驟如圖3-8所示。

SylixOS下移植C++工程

圖3-8 依賴庫設置

    注:本例中c++_app工程需要依賴glib246.so,XCore.so,proxy.so,實際情況根據移植需要選擇依賴的庫文件。

3.5 編譯上傳

    配置完成后,編譯c++_app工程,操作如圖3-9所示。

SylixOS下移植C++工程

圖3-9 編譯工程

    編譯完成后,上傳工程,操作如圖3-10所示。

SylixOS下移植C++工程

圖3-10 上傳工程

3.6 模擬器上模擬運行

    執行3.5節中上傳的文件,操作如圖3-11所示。

SylixOS下移植C++工程

圖3-11 執行目標程序

    可以得到如圖3-12所示結果。

SylixOS下移植C++工程

圖3-12 程序執行結果

4. 移植中錯誤總結

4.1 引用頭文件錯誤

    在編譯階段,可能會遇到頭文件找不到路徑的錯誤,如圖4-1所示。

SylixOS下移植C++工程

圖4-1 頭文件路徑錯誤

    解決這類問題的方法為修改工程屬性,加入相應的頭文件路徑,如圖4-2所示。注意添加頭文件路徑時,不要拷貝頭文件,只需要把相應的頭文件路徑添加正確即可。

SylixOS下移植C++工程

圖4-2 加入頭文件路徑

4.2 symbol查找

    在執行階段,遇到找不到symbol的錯誤,如圖4-3所示。

SylixOS下移植C++工程

圖4-3 symbol錯誤

    此類問題總結原因如下:

       1. 結構體未定義

       2. 變量為定義

       3. 函數未定義

    解決方法為:在SourceInsight中或者RealEvo-IDE下全局搜索,找到該symbol定義的地方,如果沒有定義請根據語義或者在其本來環境下的定義實現該symbol的定義,如果已經定義,則可能是該文件沒有加入編譯。

    由于c++中存在方法重載,所以編譯器存在命名粉碎規則,此類問題解決方案參考C++編譯器的命名粉碎規則。

5. 小結

    本文檔介紹了SylixOS下移植C++工程的過程,并介紹移植過程中可能出現的問題以及解決相應問題的思路。

6. 參考資料

    《RealEvo-IDE APP使用手冊》

    《Linux工程移植到SylixOS技術筆記》

     關于C++命名修飾的資料:

     http://hipercomer.blog.51cto.com/4415661/855223

     http://blog.sina.com.cn/s/blog_67ae19eb0101aygx.html

























向AI問一下細節

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

AI

伊吾县| 荆州市| 宁津县| 田东县| 保德县| 济源市| 铁岭市| 甘谷县| 沙田区| 清流县| 句容市| 民乐县| 惠州市| 乐东| 洛宁县| 镇坪县| 兰考县| 陕西省| 如东县| 灌阳县| 林周县| 波密县| 繁昌县| 越西县| 高阳县| 龙江县| 德化县| 光泽县| 永兴县| 湾仔区| 道孚县| 徐水县| 抚顺县| 延安市| 桂阳县| 沁水县| 泸水县| 凌源市| 加查县| 铁岭市| 祁阳县|