This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS:Makefile -WI,-MMD,-MF选项

Guru**** 2589300 points
Other Parts Discussed in Thread: AM3517

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/617735/ccs-makefile--wi--mmd--mf-option

主题中讨论的其他部件:AM3517

工具/软件:Code Composer Studio

大家好吗?

我正在尝试使用用于AM3517处理器的GNU编译与链接器来使用CCS v7。

在CCS上构建软件时,CCS自动创建Makefile。 但GNU链接器不支持Makefile中的-WI选项。

有人能告诉我如何消除-wi选项吗?

然后我想删除-MMD,-MF选项。

提前感谢。

此致。

Sunny Kang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sunny Kang 说:
    ,但GNU链接器不支持Makefile中的-WI选项。

    请您详细说明您的意思是什么?

    wl选项用于将链接程序选项传递给编译器驱动程序(gcc)。 由于CCS中的build命令调用gcc而不是直接调用链接程序,因此应使用-WL选项传递链接程序选项。 我想知道您为什么要取消该选项。

    Sunny Kang 说:
    ,然后我想取消-MMD,-MF选项。[/QUOT]

    这些选项设置在何处以及如何设置? 如果是通过CCS中的GUI项目设置进行设置的,则还应该能够从那里删除它们。
    但也许我不能正确理解你的问题,如果是,请你澄清一下吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您的回复。

    1. ON "GNU链接器不支持-WI选项。"
    -我使用了"Sourcery _G++_Lite/bin/arm-none-linux-gnueabi-gcc.exe"和"Sourcery _G++_Lite/bin/arm-none-linux-gnueabi-ld.exe"
    -我在发布的基础上构建。

    -CCS v7已发布\makefile,如下所示:
    ###############################################################################
    #自动生成的文件。 请勿编辑!
    ###############################################################################

    Shell = cmd.exe

    cG_TOOL_ROOT:= C:/HMIDeveloper/Sourcey_G++_Lite

    gen_opts__flag:=
    gen_CMDS__flag:=

    Ordered_OBJS +=\
    "./AM3517/AM3517_CAN.o"\3517\
    "./AM3517/cache_v7.o"\
    "./AM3517/canbuffer.o"\
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    "./vfp/vfpmacros.o"\
    "./vfP/vfptmodule.o"\
    -WL,-T"../ram-map.ld"\
    $(GEN_CMDS__flag)\
    -WL,--start-group \
    -WL,-T"I:/Sunny/sinevaSrc/control/brases/offset_501_test_tc/ram-map.ld"\
    -l:"C:/HMIDeveloper/Sourcery G++_Lite/lib/gcc/arm-none-linux-gnueabi/libgcc.1/libgcc.a" 4.4 \
    -WL,--end-group \
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    ~~~~我省略了~~~~~~~~~~~~~~~~~

    GNU链接器检测到如下错误:
    '建立目标:uCOS.OUT '
    '调用:GNU Linker '
    "C:/HMIDeveloper/Sourcery G++_Lite/bin/arm-none-linux-gnueabi-ld.exe"-nostdlib -static -o"uCOS.out ""./AM3517/AM3517_CAN.o"</s>3517
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    "./vfP/vfptmodule.o"-wl,-ram.ld"-wl,--start-group -wl,-T" i:/Sunny/SinaSrc/brases/offset_501_test_tc/ram-map.abi"-l:"C:4.4 /HMILibDeveloper/Source_gluan./linux-gcc-group-none.gcc-l/linux-gcc-gcc-lip-lip-lip/glu/lip-gcc-lip-lip-g-lip-g/lip-gcc-lip-g/lip-gcc-lip-/l
    Makefile:429:目标'ucs.out '的配方失败
    C:/HMIDeveloper/Sourcey_G++_Lite/bin/arm-none-linux-gnueabi-ld.exe:无法识别的选项'-WL,-T../ram-map.ld'
    C:/HMIDeveloper/Sourcey_G++_Lite/bin/arm-none-linux-gnueabi-ld.exe:使用--help选项获取使用信息
    gmake:***[uCOS.OUT ]错误1


    2.在"然后,我想取消-MMD,-MF,-MT选项。"

    '调用:GNU编译器'
    "C:/HMIDeveloper/Sourcey_G++_Lite/bin/arm-none-linux-gnueabi-gcc.exe"-std=c99 -pipe -nostdinc -fno-builtin -wno-format -c -fno-stack-protector -fno-ome-stimite-past
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    -O0 -Wall -MMD -MP -MF"USR/servotask.d"-MT"USR/servotask.o"-o"USR/servotask.o""./usr/servotask.c"
    ../usr/servotask.c:在函数'ServoProcessorTask'中:
    ../usr/servotask.c:236:警告:函数'getAlarmOvertime '的隐式声明
    '完成的建筑:../usr/servotask。c'

    -在“arm-none-linux-gnueabi-gcc.exe --help”中找不到-MMD,-MF,-MT选项
    所以,我想消除-MMD,-MF,-MT选项。

    请帮助我如何在收到后立即选择以上4个选项。

    提前感谢您的参与。

    此致。
    Sunny Kang。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sunny Kang 说:
    我使用了"Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc.exe"和"Sourcery _G++_Lite/bin/arm-none-linux-gnueabi-ld.exe"[/报价]

    好的,您使用的是Code Sourcery工具,而不是CCS附带的Linaro GNU编译器工具?

    这是Eclipse C/C++项目还是CCS项目?

    Sunny Kang 说:
    调用:GNU Linker
    "C:/HMIDeveloper/Sourcery G++_Lite/bin/arm-none-linux-gnueabi-ld.exe"-nostdlib -static -o"uCOS.out ""./AM3517/AM3517_CAN.o"</s>3517
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    ~~~~我省略了~~~~~~~~~~~~~~~~~
    "./vfP/vfptmodule.o"-wl,-ram.ld"-wl,--start-group -wl,-T"I:/Sunny/SinaSrc/brases/offset_501_test_tc/ram-map.abi"-l:"C:/HMIlibDeveloper/Source/libc_glu/guar/wl-/wl -g-none.gcc-gl-wl/none.g- 4.4


    如果将工具调用从arm-none-linux-gnueabi-ld.exe更改为 arm-none-linux-gnueabi-gcc.exe,则-WL选项将有效,应该没有错误。 您应该能够更改 从“项目属性”,“链接器”设置中调用(ld到gcc)的可执行文件。  

    Sunny Kang 说:
    -我在“arm-none-linux-gnueabi-gcc.exe --help”中找不到-MMD,-MF,-MT选项
    -因此,我想删除-MMD,-MF,-MT选项。[/QUOT]

    这些选项是如何添加的? 我想您应该能够从“项目属性”,“编译器”设置中删除它们,但如果不了解如何在GUI中设置选项,我无法确定。