|
发表于 2019-4-2 15:53:48
4641 浏览 4 回复
【PX4编译问题】关于编译如何不更新submodul的问题
- 谢谢查看,我现在使用了之前的ecl版本,如图,我现在的px4固件版本为V1.8.2,我替换了ecl版本,但是无法通过编译,请问这个问题该如何解决呢?能提供一个思路或者提示。谢谢!!!
|
扫一扫浏览分享
|
|
|
|
|
|
|
楼主|
发表于 2019-4-2 16:04:30
我该更改哪些文件才不会受到这个版本对于submodul的限制 |
|
|
|
|
|
|
|
楼主|
发表于 2019-4-2 16:19:51
进入到src/lib/ecl文件之中,用命令git add ecl && git commit -m 'Updated ecl'可以解决完成编译,但是除了这种方法相当于是在版本添加了一条新的log记录,请问还有没有其他方法呢?谢谢 |
|
|
|
|
|
|
|
楼主|
发表于 2019-4-2 22:23:56
其实我想知道是哪个地方或者脚本在控制着这些编译,我可以将这些提示或者问题直接修改 |
|
|
|
|
|
|
|
发表于 2019-4-2 22:24:49
本帖最后由 AmovlabAbner 于 2019-4-2 22:27 编辑
如果你更新了你的子模式,那么最科学的做法就是你需要更新你对应的子模块的commit 号。
以你说的ecl库为例,
在 Fimware的文件夹下,git status的时候,如果有- modified: src/lib/ecl (new commits)
复制代码
是红色的。那么
你改动了你的ecl的代码或者你的子模块的代码没有与主文件对应的commit 不匹配。
那么需要你自己手动的加上commit号. 首先是在ecl 库下,把你改动的文件写一个commit。然后在你的主模块下,以Firmware的文件夹下加上commit,这个commit对应的是你改动的ecl库的代码。
以上是因为PX4的代码编译过程中会去强制的检测子模块的代码是不是有了变动。当然这个检测主要是对commit的检测,如果你的子模块的commit号与之前主模块对ecl的commit 号是一一对应的,你是不需要在子模块新写入commit的,只有他们的commit的不对应的时候,才需要你的改动。
|
|
|
|
|
|
|
|