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:相对目录如何相对于文件工作?

Guru**** 2535590 points
Other Parts Discussed in Thread: CC2650

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/566400/ccs-how-do-relative-directories-work-relative-to-a-file

在“线程:CC2650”中讨论的其它部件

工具/软件:Code Composer Studio

我正在CC2650上构建一个项目。 默认情况下,它获取主板的一个Board.h文件,但当我将其从默认主板更改时,无法链接。 我的意思是,下面是我必须编辑的文件的内容。 此文件的地址是<ti/simplelink/blesdk/src/target/cc2650em_board.c>

/************************************************************************

@file cc2650em_board.c

@简报此文件是一个简单的网关,可以包含适当的Board.c文件
它位于与此文件相关的以下目录中:
CC2650DK_7ID
CC2650DK_5xD
CC2650DK_4XS
CC1350DK_7xD

项目应将include路径设置为Board.h以指向
Board.h。 这个
然后,Board.h文件将定义此文件中用于的符号
包含相应的Board.c文件,该文件位于同一文件中
目录作为Board.h
这样项目就可以看起来一样(并且只包括此板)。
文件时,更改EM用户只需更新中的包括路径
项目选项。 或者,设备特定的主板文件可以
只需将其直接包含在项目中。

组别:WCS,LPC,BTS
目标器件:CC2650,CC2640,CC1350


*****************
发行名称:BLE_SDK_2_02_01_18
发行日期:2016年10月26日 15:20:04*************************************************************************
//*


此Board.h文件的位置取决于您的项目包含路径。
*将其正确设置为指向您的CC2650DK_xxx
*/
#IF已定义(CC2650DK_7ID)
#include <../../boards/CC2650DK_7ID/Board.h>
#include <./../boards/CC2650DK_7ID/CC2650DK_7ID.c>
#Elif2650#Elif Defined (CC2650DK_5xD)
#include <../../boards/CC2650DK_5DD/Board.h>
#include <./../boards/CC2650DK_5xD CC2650DK_5xD。c>
#Elif Defined (CC2650DK_4XS)
#include <../../boards/CC2650DK_4XS/Board.h>
#include <./../boards/CC2650DK_4XS/CC2650DK_4Xs.c>
#else2650#else
#ERROR "必须定义'CC2650DK_7ID','CC2650DK_5xD '或'CC2650DK_4Xs'。 请设置包含路径以指向相应的设备。"
#endif 

在"包括"部分中,前3行的背景为白色,其余的为蓝色。 这是什么意思?

如果我右键单击并打开 <../../boards/CC2650DK_7ID/Board.h>的声明,它工作正常,但我必须使用的<../../boards/CC2650DK_5DK/Board.h>却没有这样做。 另请注意,这些文件位于地址<ti/simplelink/blesdk/src/boards/CC2650DK_5xD中

所以我自然地评论了前3个包含行,将<./../boards/CC2650DK_5DK/Board.h>的"Elif"更改为"if",并尝试编译,但我得到了一个错误,这基本上是最后一行“必须定义'CC2650DK_7ID','CC2650XS_5xD或'CC2650DK_4DK'。 请设置包含路径以指向相应的设备。"

如何更改行 #include <./../boards/CC2650DK_5DA/Board.h> 以便正确编译?

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

    Shantam Raj23 说:
    如何更改行 #INCLUDE <./../boards/CC2650DK_5xDBoard.h> 以便正确编译?



    如果您需要使用不同的主板(即CC2650DK_5xD)而不是CC2650_7ID,则需要在项目属性中设置相应的预处理程序符号。 转至“项目属性”->“生成”->“编译器”->“高级选项”->“预定义符号”,然后在其中设置正确的符号。 在预处理程序定义中设置主板类型应使其自动选择正确的主板文件。 请参阅SDK \docs目录中包含的BLE软件开发人员指南的6.2 部分。