(转载)在Eclipse CDT中编译含有多个main函数的项目
2011-06-26 08:59
399 查看
默认情况下,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/,详细内容可见该博文,谢谢该文作者帮我解决了这个问题。
个自动产生的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/,详细内容可见该博文,谢谢该文作者帮我解决了这个问题。
相关文章推荐
- [转载]在Eclipse CDT中编译含有多个main函数的项目
- 如何在Eclipse CDT中编译含有多个main函数的项目
- 在Eclipse CDT中编译含有多个main函数的项目
- 如何在Eclipse CDT中编译含有多个main函数的项目
- 如何在Eclipse CDT中编译含有多个main函数的项目
- 在Eclipse CDT中编译含有多个main函数的项目
- 在Eclipse CDT中编译含有多个main函数的项目
- 如何在Eclipse CDT中编译含有多个main函数的项目
- 使用Eclipse 编译含有多个main函数的项目
- 07 eclipse C/ C++编译含有多个main函数的项目
- Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行Cocos2dX自带TestsDemo项目(转载)
- eclipse CDT cygwin编译linux源代码项目
- eclipse开发cocos2dx 3.2环境搭建之三: ccp-tests项目编译 (this project is not a CDT project)
- eclipse开发cocos2dx 3.2环境搭建之三: ccp-tests项目编译 (this project is not a CDT project)
- eclipse导入cocos2dx项目后,CDT无法编译
- 使用eclipse CDT编译mysql(转载)
- Linux上用Eclipse CDT开发c++项目的实例
- 使用Tortoise SVN版本控制Eclipse工作区的Android项目时编译错误(zz)
- Android Studio依赖dependencies和Eclipse加上lib包解决重复编译某些项目的问题
- eclipse(Mars)在运行Maven项目时,不能自动编译,解决方法如下: