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/TMS320F28069:"Rebuild Project"wu#39;t 和#39;clean 和#39;早于'all'带有外部 makefile

Guru**** 2532270 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/737079/ccs-tms320f28069-rebuild-project-won-t-clean-prior-to-all-with-external-makefile

器件型号:TMS320F28069

工具/软件:Code Composer Studio

受影响的版本:CCSv8 (版本:8.1.0.201805221500内部版本 ID:N201805221500)

摘要:使用外部 makefile "all"之前、"rebuild Project"不会"清理"

重现步骤:

   1) 1)在 CCSv8中创建一个新的 CCS 项目(main.c 为空)
   2) 2)构建它以生成 makefile 文件
   3) 3)在工程属性中、转到"Build"并取消选择"Generate Makefiles automatically"
   4) 4)在 Project Explorer 中右键点击工程、然后选择"Rebuild Project"

预期结果:

   "C:\\ti\ccsv8\\utils\\bin\\gmake"-k -j 8 clean -O
   "C:\\ti\ccsv8\\utils\\bin\\gmake"-k -j 8 all -O

实际结果:

   "C:\\ti\\ccsv8\\utils\\bin\\gmake"-k -j 8 all -O


注释:

   CCSv8似乎尝试在这里执行一些智能操作、并检测是否确实需要"干净"。
   可以通过运行"clean Project"和"Rebuild Project"来自动生成 makefile 的工程来查看该文件。
   结果是、重建步骤仅调用"全部"配方、而不调用"清理"。
   但是、当我们使用外部 makefile 文件时、它不知道如何检测工程是否已"清理"、因此也不知道
   采取错误的不"清理"行为。
   
   我们的团队目前正在运行 CCSv6、并正在考虑升级到 CCSv8。 这种倒退目前正在阻止我们升级
   因为它会影响我们的工作流程。 "重建项目"的预期结果是、它应始终首先执行"清理"、
   或者至少在跳过它时非常聪明。
   
   解决此问题的另一种方法可能是为用户提供某种方法来向 CCS 指示它实际上是否需要干净、
   例如调用脚本以确定这一点。
   
   这在 CCSv6中似乎可以正常工作。 我尚未尝试 CCSv7。

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

    Johan、

    我看到您在 CCSv7和 CCSv8中报告的行为相同。 在这两个版本中、 取消选中"自动生成 makefile "后、重建模型不会触发清理和编译、而是报告编译是最新的。 在 CCSv6中、重建会触发清理、然后生成。 这似乎是从 Eclipse 的某些版本开始的行为更改、但我不确定这是故意更改还是错误。 我将与一些专家核实他们是否了解更多信息。

    同时、您可以通过向工程中添加 makefile.init 来扩展 makefile 行为、该工程基本上会执行自定义预编译步骤。

    在项目根文件夹中添加一个名为 makefile.init 的文件、其中包含以下内容:

    全部:自定义步骤
    自定义步骤:
     @echo 'Custom pre-build step'
     DEL /F "${CWD}\*.out""${CWD}\*.obj"

    自定义步骤将在每个编译开始时运行、并将删除.out 和.obj 文件、以便连续的编译将是完整的编译。  

    有关扩展 makefile 的更多信息、请参阅此页面。  

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

    尊敬的 AartiG:

    感谢您的回答、感谢您成功重现问题。 请告诉我您对 Eclipse 的了解、我最初怀疑这可能是造成这种情况的根本原因。

    我担心附加的 makefile 文件无法解决我们的问题、因为它似乎也会删除正常编译上的工件、每次都触发完整的重建。 这对我们来说是一个大问题、因为完整的重建需要很长时间。

    此致

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

    [引用 user="Johan Eriksson50"]请告诉我您对 Eclipse 的了解,我最初怀疑这可能是造成这种情况的根本原因。

    我已提交错误报告、因此可以跟踪和调查此问题。 跟踪 ID 为 CCSIDE-3429。 请随时使用我签名中的 SDOWP 链接跟踪它(在给它一些时间更新到服务器之后)。

    遗憾的是、我没有找到其他权变措施。 但是、如果工程师发现问题、他们将更新错误报告。

    感谢您的耐心、并提请我们注意这一点。

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

    感谢您的意见。 我对这个问题做了一些进一步的调查、似乎至少对于最新的 Eclipse CDT (2018-09)、右键单击菜单中没有"Rebuild"选项。 这是 CCS 添加的内容、还是在某个修订版中从 Eclipse CDT 中删除了?

    我必须单击"Did not resolve"、因为它没有。 我将尝试记住每天都要检查 SDOWP、但在更新错误报告时、获取电子邮件当然会很有帮助。 此问题解决后、我将单击"此问题已解决"。


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

    错误跟踪工具中似乎已接受该错误。 此修复程序的目标版本为 CCS_9.0.0。 是否有时间计划发布此版本?

    从您以前的版本推断:
    •V5 - 2011年11月8日
    •V6 - 2014年4月29日
    •V7 - 2017年1月16日
    •V8 - 2018年3月9日
    •V9 - 2019年5月?


    真正的
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CCS 9.0目前计划于2019年第1季度末推出。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Aartis、您好!

    是否有任何方法可以将其以更早的日期移植回 CCSv8或更早的版本?


    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我认为这是不可能的。 我们通常不会将错误修复返回到早期版本中。

    我们即将锁定8.3版本、之后的下一个版本为9.0。