2014-03-02 43 views
0

默认设置为'gcc'。但是说我的编译器的名字是'my_gcc',链接器'my_gcc'并且断言是'my_as。Eclipse CDT模板 - 设置编译器的名称?

你是怎么用模板设置的?

会认为你会做到以下几点:

<process type="org.eclipse.cdt.managedbuilder.core.SetMBSStringOptionValue"> 
    <simple name="projectName" value="$(projectName)" /> 

    <complex-array name="resourcePaths"> 
     <element> 
      <simple name="id" value="cdt.managedbuild.tool.gnu.cross.c.compiler" /> 
      <simple name="value" value="my_gcc" /> 
      <simple name="path" value="" /> 
     </element> 
    </complex-array> 
</process> 

是这些属性,我需要设置其他地方?

+0

更新 - 解决我不得不做一个完整的自定义工具链。呸。 –

回答

0

无法找到基于模板的解决方案;但这里是一个编程解决方案:

//assumptions 
//#1 project is [0] in workspace 
//#2 compiler is [2] in workspace 

//get project 
IProject proj = ResourcesPlugin.getWorkspace().getRoot().getProject("hello_world"); 

//get <storageModule moduleId="org.eclipse.cdt.core.settings"> 
IManagedBuildInfo info = ManagedBuildManager.getBuildInfo(proj); 

//get <storageModule moduleId="cdtBuildSystem"> 
IManagedProject sub_info = info.getManagedProject(); 

//get <configuration name="Debug"> 
IConfiguration config = sub_info.getConfigurations()[0]; 

//get <toolChain> 
IToolChain toolchain = config.getToolChain(); 

//get <tool name="GCC C Compiler"> 
ITool tool = toolchain.getTools()[2]; 

//-----update command----// 
ManagedBuildManager.setToolCommand(config, tool, "my_gcc"); 
ManagedBuildManager.saveBuildInfo(proj, true); 

然后只需重复您需要修改的每个工具。