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中指示的文件也是有順序的
轉載于:https://www.cnblogs.com/EmbeddedBoy/archive/2010/04/30/1724513.html
總結
以上是生活随笔為你收集整理的SYNCHRONIZE_DRAIN的用处的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 显示显卡的信息
- 下一篇: 100% .NET Control_自动