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:CCS变量和环境

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/594014/ccs-ccs-variables-and-environment

工具/软件:Code Composer Studio

您好,

您能否解释CCS变量的差异和用法:

在项目设置中的C/C++生成选项下,有两个选项卡-“生成变量”和“环境”-它们之间的确切区别是什么(即,在定义新的选项卡时,应将其放在哪个选项卡上...) 在resource -> linked resources (资源->链接资源)下还有一个可以定义变量的位置。

我如何查看变量的完整扩展-如果它是使用另一个变量定义的和/或当它显示<Eclipse dynamic variable>时(这意味着什么以及如何查看它的评估结果?)

在“环境”选项下设置变量时, 结果是,如果窗口已经有这样一个环境变量-我在CCS中放置的值被附加到窗口一中-这并不总是需要的。我尝试选择“用指定的环境替换本机环境”单选按钮,但在这样做后,它会导致很多 问题-  

我正在使用外部makefile (我使用外部生成器并从build命令调用gmake)生成项目,并且在将选项设置为“替换本机...”后,我收到错误:

06:50:37****增量配置构建,默认为项目EVE ****
"gmake " target_build_release.
process_begin:CreateProcess (make1.0448万-1.bat,make1.0448万-1.bat,...)失败。
process_begin:CreateProcess (make1.0448万-2.bat,make1.0448万-2.bat,...)失败。
make (e=267):目录名无效。

gmake:***[All]错误267

返回到附加变量选项时一切正常,但在另一台可能具有相同名称环境变量的计算机上打开项目时(这些值是串联的,这会导致错误),请说明选择“替换..”选项时的错误以及如何操作 要使CCS不使用windows one附加变量?

另一个问题-如上所述,我正在使用外部生成器并调用gmake。gmake实际上不在路径上,所以从CCS的build命令中,我给了gmake的完整路径。我的makefile正在调用其中的其他makefile,称为makefile的这些makefile也调用 未指定路径的gmake - gmake位置如何传输到内部makefile (如何找到gmake?) -是否有一种方法可以从makefile中进行打印,它在哪里获取/找到它执行的gmake程序? (当我尝试从makefile调用where gmake时,它说没有这样的文件,所以它看起来不像不在路径上,所以我如何找到它在哪里找到它)

谢谢

伙计

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

    嗨,Guy,

    [报价用户="Guy Mardiks"]

    您能否解释CCS变量的差异和用法:

    在项目设置中的C/C++生成选项下,有两个选项卡-“生成变量”和“环境”-它们之间的确切区别是什么(即,在定义新的选项卡时,应将其放在哪个选项卡上...)

    [/引述]

    此线程有很好的解释:

    https://www.eclipse.org/forums/index.php/t/20.6008万/

    Guy Mardiks 说:
    同样在RESOURCE -> Linked Resources (资源->链接资源)下,还有一个可以定义变量的位置???[/QUOT]

    这些变量是仅用于链接资源的路径变量

    Guy Mardiks 说:
    我如何查看变量的完整扩展-如果它是使用另一个变量定义的,并且/或者当它显示<Eclipse DYNAMIC variable>时(这意味着什么以及如何查看它的评估结果?)[/QUOT]

    对于内部版本变量,没有一种干净的方法可以轻松地在对话框中查看完整的扩展。 如果它依赖于另一个Build变量,我会先在列表中查找该变量以进行我自己的扩展。

    请注意,Eclipse动态变量是代表一种特殊类型的月食变量,它与标准构建变量不同。 这些变量在构建期间最后扩展。 因此,在生成之前,您将无法看到该变量为特定build变量扩展到的内容。 因此,对话框只显示'<Eclipse动态变量>'作为占位符。

    Guy Mardiks 说:
    当我在“环境”选项下设置变量时,结果是如果窗口已经有这样的环境变量-我在CCS中放置的值会附加到窗口中-这并不总是需要的。[/QUOT]

    是的,我通常建议使用Eclipse CDT构建变量和路径变量。 在某些非常具体的情况下,您可能会想将环境变量缠绕在一起

    [报价用户="Guy Mardiks"]

    我正在使用外部makefile (我使用外部生成器并从build命令调用gmake)生成项目,并且在将选项设置为“替换本机...”后,我收到错误:

    06:50:37****增量配置构建,默认为项目EVE ****
    "gmake " target_build_release.
    process_begin:CreateProcess (make1.0448万-1.bat,make1.0448万-1.bat,...)失败。
    process_begin:CreateProcess (make1.0448万-2.bat,make1.0448万-2.bat,...)失败。
    make (e=267):目录名无效。

    gmake:***[All]错误267

    返回到附加变量选项时一切正常,但在另一台可能具有相同名称环境变量的计算机上打开项目时(这些值是串联的,这会导致错误),请说明选择“替换..”选项时的错误以及如何操作 要使CCS不使用windows one附加变量?

    [/引述]

    我相信,选择“替换”选项,不仅可以完全替换现有变量的值,还可以消除属性对话框中未定义的任何其他变量。 基本上,您可以将现有变量列表完全替换为对话框中的仅有变量。 执行此操作后,通常定义的某些必需变量在生成过程中不再定义,从而导致错误。

    我需要确认上述行为。

    另一个问题-如前所述,我正在使用外部生成器并调用gmake。gmake实际上不在路径上,所以我从CCS的生成命令中为其提供gmake的完整路径。我的makefile正在调用其他makefile,在其中调用称为makefile的makefile 还调用未指定路径的gmake - gmake位置如何传输到内部makefile (如何找到gmake?)

    您可能注意到CCS在<CCS install DIR>\ccs7\utils\bin中附带gmake。 生成器使用buildin ${CCS_UTILS_DIR}变量调用gmake,该变量扩展到<CCS install DIR>\ccs7\utils。 如果未明确指定gmake的路径,则它将检查gmake的位置的系统路径。 请注意,gmake随TI的其它软件包一起提供。 例如,我在xdctools中找到了一个。 当您在DOS控制台中运行'where gmake '时,它找不到它? 如果是这种情况,则不带路径前缀的gmake调用将失败

    KI

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

    您好 ,Ki-Soo Lee。

    感谢您的回答。

    如果您认为在环境变量中选择REPLACE确实也会“删除”任何在eclipse中未明确定义的变量,那么它听起来就像一个实际的错误,因为我不认为这是预期的目的-它是否是CCS中的一个错误 (而不是一般的Eclipse)-如果是,是否有方法绕过它?

    您能否建议一种方法来定义CCS中的环境变量(我必须这样做,因为我需要makefile查看和使用它们) 同时,如果在操作系统环境中定义了这样一个变量,则不能通过使用定义的一个CCS来连接(我假设单选按钮应该执行的操作-是否有方法手动实现这一目标?)

    至于gmake——我仍然不知道makefile (调用gmake本身)是如何找到gmake的——从eclipse开始,我首先调用gmake,并使用指向我的gmake位置的明确路径(这不是eclipse的默认路径) 另外,当我从makefile“gmake”打印时,它找不到它,因为它不在路径上。我还打印了makefile使用的gmake版本,它与我所指的gmake一致,而不是与eclipses的缺省值一致 (尽管我不能确定它实际上是 初始运行的相同位置,因为我有多个安装)。我尝试在make文档中搜索,但找不到任何合理的解释。我看到递归make中建议使用变量$make which 被自动定义为原始的make实用程序,但在make文件中,他们使用特定的调用gmake,但仍然是这样,似乎可以找到它。makefile中是否有方法可以打印maekefile使用的程序(gmake)的位置 ?  

    谢谢

    伙计