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/CCStudio-C2000:便携式项目:连接主要/辅助项目

Guru**** 2609895 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/637105/ccs-ccstudio-c2000-portable-project-linking-main-auxiliary-projects

部件号:CCStudio-C2000

工具/软件:Code Composer Studio

大家好,

使用CCS 7.2 :

我有一个由主项目(生成.out文件)和多个辅助项目(生成库文件)组成的大型版本。  
辅助项目都是主项目的依赖项。  
每个项目(主项目和/或辅助项目)都有多个配置(通常超过两个,不限于通常的调试/发布方案)。  
我尝试实现的是在主项目中定义某种类型的变量(例如DEP_LIB_PATH),它包含如下内容:  
${project_root)/libs/${ProjName}/${ConfigName}  
然后在辅助项目中使用DEP_LIB_PATH来确定将归档程序输出放置在何处:归档程序输出将使用类似的内容进行定义  
${DEP_LIB_PATH}/${ProjName}.lib  
(请注意,后一个${ProjName}是库ProjName,而不是主项目ProjName,因为它用于辅助项目)。  

我在这里尝试避免对每个可能的主项目配置的不同DEP_LIB_PATH进行硬编码,或者更糟糕的是,对每个主/辅助项目配置组合进行硬编码。

现在我的问题是:  

  1. 到目前为止,我还不能找到正确的配置小工具组合(链接的资源,路径变量,build变量)来实现这一结果。  
  2. 似乎其他${ProjName}或${ConfigName}不符合在主项目的链接资源中定义路径变量的条件。
  3. 我甚至不知道如何在主项目*中定义一个变量,该变量无论如何都可以从辅助(依赖)项目中看到。  工作区定义不在此剪切。  



底线是,我很困惑。  :)  
我尝试做的事情完全可能吗?  
你们大家能不能都亮一下呢?  


提前感谢!    /Ph.

附注:  
我已阅读(不一定理解正确! :-))以下TI参考:

便携式项目:  
processors.wiki.ti.com/.../Portable_Projects

项目宏:  
processors.wiki.ti.com/.../Project_Macros

在源代码中使用CCS变量:  
processors.wiki.ti.com/.../Using_CCS_Variables_in_source_code

链接文件(工作区与项目路径变量)  
processors.wiki.ti.com/.../Portable_Projects

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

    我要做的是在主项目中定义一种变量(例如DEP_LIB_PATH),它包含如下内容:  
    ${project_root)/libs/${ProjName}/${ConfigName}  
    然后在辅助项目中使用DEP_LIB_PATH来确定将归档程序输出放置在何处:归档程序输出将使用类似的内容进行定义  
    ${DEP_LIB_PATH}/${ProjName}.lib  
    (请注意,后一个${ProjName}是库ProjName,而不是主项目ProjName,因为它用于辅助项目)。  [/引述]

    我认为这不会按您的预期工作。 首先,不能在主项目中定义变量,也不能使其在库项目中可见,除非在工作区级别定义变量,在这种情况下,变量对工作区内的所有项目都可见。  

    此外,如果变量 DEP_LIB_PATH是相对于其他变量(如${PROJEMENT_ROOT),${ProjName},${ConfigName}等)定义的,则解析后,所有变量都将与当时处于活动状态的项目相关,因此不会对您的情况有所帮助。  

    实现所需功能的一种方法是让库项目在其默认路径中创建输出.lib,然后在主项目中添加预构建步骤,将库从库项目复制到主项目中的所需路径。 这是我到目前为止所想到的,但我将进一步思考,如果我能想出另一种方法来实现这一目标,我将补充更多的意见。 也许 社会上的其他人也会接受他们的建议。  

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

    感谢AartAG,

    是的,我在很早的时候就知道了${ProjName},${ConfigName}的位置:)。  这正是我尝试所有可以想到的方法来解决这个问题并定义一个更具全局性(或工作空间)的变量的原因,我可以从其他项目中看到这个变量-但却没有找到: 但是,从项目内部创建一些工作空间(全局)变量似乎不是可用的功能。

    AartiG 说:
    让库项目在其默认路径中创建输出.lib,然后在主项目中添加预构建步骤,将库从库项目复制到主项目中的所需路径。[/QUOT]

    我遇到的问题是 ,在制造机制自动检测建筑物的过程中,可能会在周围产生重复的库副本...  此外,无论何时以任何方式修改项目(维护问题),它都需要在不常见的地方进行特定的"带外"手动调整。  我一直在寻找一种更加常规和通用的方法,在这种方法中,相同的链接和目标语法可用于所有依赖项目。

    我梦想的机制是一个项目可以从其自身的依赖性和自身创建变量的机制。 和/或可以将变量传递到其每个依赖关系(就像它传递应用于其构建的配置名称的依赖关系一样)。

    如果有人找到了这个神奇的项目,我仍然愿意接受在主项目和依赖项目之间进行更动态通信的任何技巧!

    TIA, /Ph。