在使用rikirobot機器人做ROS下的導航實驗是,粗心大意將底層控制板燒壞,買了個新的電路板重新開始.在編譯商家各處的STM32源代碼時,Ubunt下總是出現了/arm-none-eabi-gcc/bin/ld:cannot find -lstdc++的錯誤,這是一個鏈接錯誤,使用arm-none-eabi-gcc編譯器時總是連接不到libstdc++.首先嘗試使用網上給出的一種方法,原因認為是在64位系統下編譯32位的工程需要把32位的庫包含進來,使用如下命令
1 sudo apt-get install gcc--multilib
操作之后還是沒有變化,由於我的Ubuntu系統是32位,並且系統庫中是包含libstdc++的,所以應該不是這個原因.考慮可能是系統自帶的arm-none-eabi-gcc不好用,於是卸載重新安裝交叉編譯器,使用的是http://www.linuxidc.com/Linux/2015-08/121322.htm中給出的方法,版本是4.9
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded sudo apt-get update sudo apt-get install gcc-arm-none-eabi
會顯示軟件未經過驗證,我認為可以不用管,接着對STM32工程進行編譯,成功!
