在Eclipse CDT中利用Build Configuration构建有多个main函数的程序

进来在为家里宝宝编写C/C++教程讲义,想用Eclipse做个project,里面每个文件是一个演示程序或者练习的答案。由于每个源代码文件都是完整的,都会有main函数,因此就会导致链接时出错,提示main函数重复定义。看到Eclipse有多build target的功能,就考虑使用这个功能来为每个源代码文件构建一个target来解决main函数重复定义的问题。查了很多资料,都说要用分别创建不同的makefile来解决。我懒得写makefile,也暂时不打算让家里小家伙学习makefile那一大套语法规则,所以就琢磨从eclipse自身已有的菜单、对话框界面下手。研究了一番,总算琢磨出来了设定方法。

步骤如下:

1. 在Project Explorer视图中鼠标右击project名称,在弹出菜单里选择"Build Configurations"菜单中的"Manage ..."菜单项;

2. 在弹出的"Manage Configurations"对话框中点击"New ..."按钮:

3. 在弹出的"Create New Configuration"对话框中输入新的Target名称,"copy settings from"选"Existing configuration"或"Default configuration",在右边的列表框中选一个用于作为母版的现有configuration,一般可选用eclipse内置的debug。

4. 点击"OK"按钮后,即创建了一个新的Build Target。

5. 接下来,要将project中不需要被包含在刚刚建立的target中的源代码文件剔除。鼠标右击需要从build target中剔除的源代码文件,在弹出菜单中选择"Resource configurations"菜单的"Exclude from build ..."菜单项:

6. 在弹出的"Exclude from build"对话框中勾选不包含此代码文件的build target,并点击"OK"按钮:

到这时候,还只是build target配置好了,还没法运行这个target,还得在Debug Configurations和Run Configurations中设定对应的调试和运行配置。

7. 选择Run菜单的"Run Configurations ..."菜单项:

8. 在弹出的"Run Configurations"对话框中,选中左侧的"C/C++ Application",然后点击对话框上方的"new launch configuration"按钮:

9. 在右侧输入运行配置的名称、可执行文件所在相对路径和名称,在build configuration列表中选择此前创建的build configuration,并点击apply使之生效:

至此,完成了多target的配置。在eclipse的主界面上可以看到此前设定的结果:

可以看到,在eclipse中配置多target实在是一件很麻烦的事情,远不及在Code::Blocks中来得方便。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章