SYNCHRONIZE_DRAIN的用处

SYNCHRONIZE_DRAIN的用处

SYNCHRONIZE_DRAIN是一个sources文件中使用的宏,它的定义方式是:SYNCHRONIZE_DRAIN=1

日前,弄BSP时遇到一个没想到的东东:复制过来的微软的触摸屏源代码竟然编译不过,提示有些lib文件找不到……

就是因为sources文件中没定义SYNCHRONIZE_DRAIN=1;因为驱动文件夹中包含多个驱动文件,使用的一些库之间有某种依赖关系造成的;

 如果sources文件中定义了SYNCHRONIZE_DRAIN=1,则Build.exe会最后才构建此文件。也就是说先编译dirs文件中的其他文件,最后再编译sources文件中定义了此宏的文件。

好处:解决了依赖库问题,在这种情况下,你必须确保你的构建过程是有顺序的,以便于Build.exe不会尝试去构建一个它的依赖文件都还没有构建的文件,不然就会产生一些错误,像我遇到的情况。

 

 A directory containing a sources file that uses this macro is not built until all other directories are built. For example, this macro definition allows you to ensure that all preceding library (.lib) files are built before building the current directory, which depends on the previous libraries.

 

If this macro definition is set to 1 in a directory's sources file, Build.exe builds that directory last.

 

还需要注意一点:If a directory uses this macro, list the directory last in its parent dirs file.

就是说那个目录文件中包含此宏,还应该把此目录文件放在dirs文件的dirs表示行的最末行;表明dirs中指示的文件也是有顺序的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值