本文來源電子發燒友社區,作者:jf_99374259, 帖子地址:https://bbs.elecfans.com/jishu_2308789_1_1.html
【感芯科技64線程MC3172開發板免費試用體驗】MC3172-CMake魔改為C++工程
在https://bbs.elecfans.com/jishu_2308788_1_1.html帖子中介紹了 Fedora Linux 搭環境的過程,其中使用的 MC3172-CMake 項目是 C 工程,這次改成 C++ 工程
TL; DR
已經把修改后的 cmake 工程發在 github 上了,直接用就行
https://github.com/nihui/MC3172-CMake
修改cmake工程屬性,*.c 改為 *.cpp
按照下圖編輯 MC3172-CMake/CMakeLists.txt,然后重命名源代碼文件后綴名為 cpp
導出符號 thread_start 為 C 接口
此時直接編譯會報錯
[ 50%] Linking CXX executable mc3172-cmake.elf
Memory region Used Size Region Size %age Used
CODE_SPACE: 0 GB 65520 B 0.00%
DATA_SPACE: 0 GB 61248 B 0.00%
/home/nihui/osd/MRS_Toolchain_Linux_x64_V1.50/RISC-V Embedded GCC/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld: warning: cannot find entry symbol thread_start; not setting start address
/home/nihui/osd/MRS_Toolchain_Linux_x64_V1.50/RISC-V Embedded GCC/bin/riscv-none-embed-objcopy: error: the input file '/home/nihui/dev/MC3172-CMake/build/mc3172-cmake.elf' has no sections
make[2]: *** [CMakeFiles/mc3172-cmake.elf.dir/build.make:130:mc3172-cmake.elf] 錯誤 1
原因在于 MC3172-CMake/MC3172/MC3172.lds 中指定 ENTRY 是 thread_start,C++代碼編譯時因為 mangle 原因,符號表中的名字被篡改,因此需要添加 extern "C" 強制用 C 風格導出該函數
按下圖編輯 MC3172-CMake/MC3172/thread_start.cpp
發布評論請先 登錄
相關推薦
dsPIC33EDV64MC205電機控制開發板用戶指南
![dsPIC33EDV<b class='flag-5'>64MC</b>205電機控制<b class='flag-5'>開發板</b>用戶指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
dsPIC33CK64MC105 Curiosity Nano用戶指南
![dsPIC33CK<b class='flag-5'>64MC</b>105 Curiosity Nano用戶指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【飛凌嵌入式OK3588J-C開發板體驗】OK3588J-C開發板的QT環境安裝
有獎丨米爾 全志T536開發板免費試用
![有獎丨米爾 全志T536<b class='flag-5'>開發板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
【敏矽微ME32G070開發板免費體驗】\\+Lora通信終端產品開發項目
設計用于TMS320C203評估的TMS320C203 DSP開發板
![設計用于TMS320<b class='flag-5'>C</b>203評估的TMS320<b class='flag-5'>C</b>203 DSP<b class='flag-5'>開發板</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【米爾NXP i.MX 93開發板試用評測】3、NXP的MCU工程目錄結構和源碼分析
點擊參與米爾NXP i.MX 93開發板有獎試用
![點擊參與米爾NXP i.MX 93<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
評論