简体   繁体   English

如何在gnu arm eclipse项目模板上设置带有路径的默认链接描述文件?

[英]how to set default linker script with path on gnu arm eclipse project template?

I'm studying eclipse cdt plug-in development use gnuarmeclipse . 我正在研究使用gnuarmeclipse的 eclipse cdt插件开发。

I added new template for c project. 我为c项目添加了新模板。

this is a parts of new template.xml 这是新template.xml的一部分

<process type="org.eclipse.cdt.managedbuilder.core.NewManagedProject">
<simple name="name" value="$(projectName)" /> 
        <simple name="artifactExtension" value="elf" /> 
        <simple name="isCProject" value="true" /> 
    </process>

    <process type="org.eclipse.cdt.core.CreateFolder">
        <simple name="projectName" value="$(projectName)"/>
        <simple name="path" value="source/linkerscript"/>
    </process>

<process type="org.eclipse.cdt.core.AddFiles">
        <simple name="projectName" value="$(projectName)"/>
        <complex-array name="files">
            <element>
                <simple name="source" value="linkerscript/myprocessor.ld"/>
                <simple name="target" value="linkerscript/myprocessor.ld"/>
                <simple name="replaceable" value="true"/>
            </element>
        </complex-array>
    </process>

<process type="org.eclipse.cdt.managedbuilder.core.SetMBSBooleanOptionValue">
        <simple name="projectName" value="$(projectName)"/>
        <complex-array name="resourcePaths">
            <element>
                <simple name="id" value="org.eclipse.cdt.cross.arm.gnu.c.link.option.nostart" />
                <simple name="value" value="true" />
                <simple name="path" value="" />
            </element>
        </complex-array>
    </process>

<process type="org.eclipse.cdt.managedbuilder.core.SetMBSStringOptionValue">
        <simple name="projectName" value="$(projectName)"/>
        <complex-array name="resourcePaths">
            <element>
                <simple name="id" value="org.eclipse.cdt.cross.arm.gnu.c.link.option.scriptfile" />
                <simple name="value" value="myprocessor.ld" />
                <simple name="path" value="" />
            </element>
        </complex-array>
    </process>

The myprocessor.ld is a linker script. myprocessor.ld是一个链接描述文件。

It works well but I missed myprocessor.ld needs full path. 它工作正常,但我错过了myprocessor.ld需要完整路径。

How can I know a path of myprocessor.ld being create? 我怎么知道正在创建myprocessor.ld的路径?

thank in advance 预先感谢

you should either specify the relative path '../linkerscript/myprocessor.ld' in the link.option.scriptfile, or add '-L ../linkerscript' 您应该在link.option.script文件中指定相对路径'../linkerscript/myprocessor.ld',或添加'-L ../linkerscript'

btw, please upgrade from version 0.5 to version 1.x, the old 0.5 is outdated and no longer supported. 顺便说一句,请从0.5版升级到1.x版,旧的0.5版已过时,不再受支持。

Liviu Ionescu 利维·奥涅斯库

GNU ARM Eclipse maintainer GNU ARM Eclipse维护者

If crossing this thread in search of where the linker script ( *.ld ) is specified - 如果越过该线程以寻找指定链接描述文件( * .ld )的位置-

Eclipse Project Settings: Eclipse项目设置:

  • C/C++ Build->Settings->Tool Settings->C Linker ->General->Linker script C / C ++构建->设置->工具设置-> C链接器->常规->链接器脚本

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM