尊敬的所有人:
我使用 CCS 版本11.2为 MSP430FR5994开发代码。 我正在使用不同的构建目标、这些目标调用一个自制的构建脚本。 在工程属性/build/Builder 下、我将编译命令修改为"Bash ${ProjDirPath}/scripts/build.sh "、其中 build.sh 是一个自生成脚本、编译服务器也使用该脚本进行自动编译和连续集成。 此脚本支持不同的命令、如"build.sh clean"、"build.sh cmake"、"build.sh application"和其他几个命令、其中每个命令仅执行特定的任务。 因此、clean 命令显然只需删除所有内容即可清除工程输出文件夹。 cmake 命令使用 CMake 和 makeLists.txt 生成所有 makefile 文件。 然后、应用命令使用生成的 makefile 来构建应用。 到目前为止都很好。
然后、我在 CCS 中创建了一些"构建目标"。 它们出现在项目资源管理器中、可用于构建不同的目标、即使用 cmake 或 application 等特定命令运行脚本。 但是、当我运行其中一个编译目标时、CCS 会自动首先为每个编译目标运行 clean 命令、我不知道原因。 因此、当我运行应用程序构建目标时、所有内容都会在包括我之前使用 cmake 命令创建的生成的 makefile 之前被删除。无法构建应用程序。 控制台输出如下所示:
****项目 PRJ 的纯净配置编译调试****
Bash D:/Projects/Prj /SW/Prj/scripts/build.sh 清理
脚本路径:/cygdrive/d/Projects/Prj/SW/Prj/scripts
===项目路径:/cygdrive/d/Projects/Prj/SW/Prj
===构建项目-服务器;WED SEP 28 13:16:17 WEDT 2022 ================================================================
===清理并删除/cygdrive/d/Projects/Prj/SW/Prj/build/Debug/test
===清理并删除/cygdrive/d/Projects/Prj/SW/Prj/build/Debug/main/DevKit
===清理/cygdrive/d/Projects/Prj/SW/Prj/reports
****构建完成****
****为项目 PRJ 构建配置调试****
Bash D:/Projects/Prj/SW/Prj/scripts/build.sh 应用程序
我希望 CCS 仅调用第二个命令行"Bash D:/Projects/Prj /SW/Prj/scripts/build.sh application"、但它会自动运行第一行"bash D:/Projects/Prj /SW//Prj/scripts/build.sh clear"、并且所有内容都在编译开始之前被擦除。 那么、由于没有 makefile、因此出现错误。 是否有办法禁用此功能? 为什么 CCS 这么做?
谢谢、此致、
Marco