錯誤信息:
Build target '...'
Target has no object modules
目標未創建
項目中**沒有任何源文件參與編譯**,導致鏈接器找不到目標模塊(.o/.obj 文件),無法生成最終映像。
| 場景 | 現象 | 解決步驟 |
|---|---|---|
| 1. 未選擇芯片型號 | Options → Device 未勾選具體 MCU | 勾選正確型號(如 STC89C52RC、STM32F103C8T6),自動配置啟動文件、鏈接腳本 |
| 2. 源文件未加入項目 | Project 窗口無 .c/.asm 文件,或文件圖標灰色 | 右鍵 Source Group → Add Existing Files,選中所有 .c/.s 文件 |
| 3. 文件被排除編譯 | 文件屬性勾選「Exclude from build」 | 右鍵文件 → Options → 取消勾選 Exclude |
| 4. 只有頭文件無實現 | 項目僅含 .h,缺 .c 實現文件 | 補全 .c 文件,或從庫文件添加預編譯 .lib/.a |
.c 文件?compiling xxx.c... 信息?main() 寫在頭文件或註釋掉?Options → Target → Use MicroLIB 導致缺入口,也會報類似錯誤。Project → Clean 後重新 Build,排除殘舊中間文件干擾。遇到「Target has no object modules」,**90% 是源文件未加入項目或芯片未選**,按上表逐項排查即可秒解。