DECLARE DYNAMIC巨集的新增

2021-05-08 23:29:14 字數 569 閱讀 1685

new了乙個新類class c***wnd : public cwnd

需要在此新增

declare_dynamic(class c***wnd)

但總是編譯報錯 :error lnk2001: unresolved external symbol "public: virtual struct cruntimeclass * __thiscall c***wnd ::getruntimeclass(void)const " (?getruntimeclass@c***wnd

@@ubepaucruntimeclass@@xz)

debug/sdi_framedemo.exe : fatal error lnk1120: 1 unresolved externals

原因:implement_dynamic是實現「執行時型別識別」巨集,與之相對應的是declare_dynamic(宣告「執行時型別識別」巨集)。也就是說你在.cpp檔案中如果看見有implement_dynamic,則在.h檔案中必定有declare_dynamic的宣告。

這兩個巨集是成對出現的,新增implement_dynamic後鏈結錯誤消失。

define 巨集 替代巨集

編寫 時經常要定義常量 static const nstimeinterval kanimationduration 0.3 複製 使用型別變數,可以清楚地描述常量的含義,以及它的型別。命名法 若常量侷限於某 編譯單元 translation unit,也就是實現檔案,m檔案 之內,則在前面加字母k...

define 巨集 替代巨集

編寫 時經常要定義常量 static const nstimeinterval kanimationduration 0.3 複製 使用型別變數,可以清楚地描述常量的含義,以及它的型別。命名法 若常量侷限於某 編譯單元 translation unit,也就是實現檔案,m檔案 之內,則在前面加字母k...

abs int 巨集定義 巨集定義和巨集方法

巨集定義和巨集方法 定義機型 define is iphone5 uiscreen instancesrespondtoselector selector currentmode cgsizeequaltosize cgsizemake 640,1136 uiscreen mainscreen cu...