目錄
- global頭檔案
- global.h
- xx.h
global頭檔案
插件的本質就是元件,對于庫,需要匯出符號,供用戶匯入使用,在qt creator的原始碼中,存在固定的匯入匯出模式,
global.h
對于每個庫和插件,都有一個xx_global.h頭檔案,其中xx為庫或插件名,示例如下
#pragma once
#include <qglobal.h>
#if defined(XX_LIBRARY)
# define XX_EXPORT Q_DECL_EXPORT
#else
# define XX_EXPORT Q_DECL_IMPORT
#endif
這就很明顯了,XX_LIBRARY作為開關,來決定匯入匯出,
xx.h
對于具體的實作,我們可以
class XX_EXPORT xx { ... }
在類的宣告中添加XX_EXPORT,
在qt creator原始碼中,在專案檔案中添加了定義
DEFINES += XX_LIBRARY
這導致XX_EXPORT被替換為Q_DECL_EXPORT進行匯出,
對于庫或插件的使用者,直接包含xx.h即可,由于沒有定義XX_LIBRARY,這里XX_EXPORT被替換為Q_DECL_IMPORT進行匯入,
原創造福大家,共享改變世界
獻出一片愛心,溫暖作者心靈
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/10525.html
標籤:其他
上一篇:關于映射的問題。有沒人知道
下一篇:有沒有人知道這個怎么解決
