环境:使用最新版本ccs和sdk
导入一个15.4的collector的示例项目,发现
类似此处 只要调用到sdk的文件,都是直接引用的sdk目录下的源文件,这样会导致,修改了一个文件,sdk也被修改,如果建立第二个项目,也会同步.这个要如何解决
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和sdk
导入一个15.4的collector的示例项目,发现
类似此处 只要调用到sdk的文件,都是直接引用的sdk目录下的源文件,这样会导致,修改了一个文件,sdk也被修改,如果建立第二个项目,也会同步.这个要如何解决
您好,
一般是创建的 SDK 实例来调用相应的 API 函数,以便利用 SDK 提供的功能。
如果是调用 SDK 的文件通常涉及到包含头文件和链接相应的库。
您可以查看 SDK user guide :https://dev.ti.com/tirex/explore/node?node=A__AGhAXIxP6gouUA7QxaW0Lg__com.ti.SIMPLELINK_CC13XX_CC26XX_SDK__BSEc4rl__LATEST
您试试导入例程之后不要直接动代码,先将刚刚导入的这个例程按照下面的步骤导出,这样SDK中的文件是复制到项目中了,再在这个工程调用 SDK 的文件应该就不会同步了:
1.我这里拿个项目举例,右键点击该项目,点击 Export:
2.
3.把这个黄色的选项勾选了,所有的依赖就复制到工程中了,而不是像原来一样链接过来的
我试了下,可以避免这个问题,但是从项目中直接 show in system 的时候还是会跳转到sdk中,是不是应该把编译目录下sdk目录都删掉?
如图,修改了项目文件link_controller 文件后,sdk中的还是被修改了,项目目录下的还是没变化
如图,修改了项目文件link_controller 文件后,sdk中的还是被修改了,项目目录下的还是没变化
导出之后再导入的吗?
我感觉似乎是因为此处include 的还是sdk目录,应该有一键迁移过来的方法把
建议:
1.把需要修改的文件复制到工作空间。
2.在 include path 中手动修改相对路径,指向到工作空间对应的位置。(注意删掉 SDK 原路径)
我试了一下还是不行
如图我修改了第一张图里面引用路径为项目相对路径,修改了crc32.c之后,点击打开系统路径,还是跳转到了sdk中,且文件修改后sdk也被修改
文件可以添加或链接到项目。如果添加文件,则会将其物理复制到项目文件夹中。如果文件被链接,则只有对项目已知的原始文件的引用。链接文件的物理位置将是原始位置(项目文件夹之外)。
您查看一下 6.1.2.2 章节:
还有一种很通用的方法:
保留一份固定的不会改动的 SDK 代码。
新建项目时拷贝 SDK 到新项目,那么这个 SDK 就是独立的一份在新项目里。
当您创建第二个项目时,也同样采用拷贝 SDK 代码的方式,就不存在说这里改动了,原来的 SDK 也改动了。
如果这么做的话,就等于一个项目一个sdk了.
而且,每次提交代码到git或者svn的时候,项目目录下的文件并不是最新,每次都需要重新导出一次
您不希望第二个项目中的文件更改影响第一个项目使用的原始 SDK 文件吗?如果是这样,那么第二个项目应该直接将文件添加到项目中。这将允许项目拥有自己的文件副本。
如果建立第二个项目,也会同步.
您是怎么建立的第二个项目,如何导入的sdk?
如果导入的sdk的绝对路径指向了同一个文件,那在上一个工程里修改的文件自然也会同步修改。
都是直接在ccs中import ccs project的