默认情况下,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/
,详细内容可见该博文,谢谢该文作者帮我解决了这个问题。