默認情況下,Eclipse CDT會爲項目的Debug和Release配置都自動產生makefile,而這
個自動產生的makefile是會嘗試把所有源文件編譯並生成單獨的一個以項目名命令的二進制文件。
而如果你的項目有兩個以上的文件帶有main函數,Eclipse就會報錯multiple definition of `main’。
解決方案是自定義makefile供CDT使用,但默認的Debug和Release配置下,makefile是自動生成不可編輯的,
在這時候需要我們自定義一個新的配置,該配置下makefile文件由我們手工編寫,從而解決問題。
第一步,在項目的Properties中定位到”C/C++ Build”,在右邊的面板中點擊”Manage Configurations…”,
隨後選擇”New…”新建一個配置取名MyDebug並從已有的Debug配置複製,變且激活該配置,接着在頂部下拉菜單中選擇MyDebug,
最後在“Makefile generation”區域有一個選項”Generate Makefiles automatically”,因爲我們要自己編寫,所以去掉勾選。(這個是重點)
本文節選自http://weblog.imthewan.com/2010/09/eclipse-cdt-multiple-target/,詳細內容可見該博文,謝謝該文作者幫我解決了這個問題。