這是本文件的舊版!
DLL中共用的Class
Problem
前幾天有人問我為什麼他引用了自己的類別到dll中後,一直出現Link錯誤,後來發現其實和VC設定有關係。請參考下圖:
為了維護方便,我們會將共用的程式碼至於同一專案中。以上面的範例來說,DLLWithDef會使用Common中的Student類別,並將method匯出讓DLLClient使用。假設這個method原型如下,讓我們看看該怎麼做。
Student* createStudent(string aName);
How to?
在DLLWithDef專案中,有幾件事情要做:
- 新增method到匯出類別中,並include標頭檔。
#include "../Common/Student.h" class DLLWITHOUTDEF_API CDLLWitDef { public: Student* createStudent(){ return new Student(); }; };
- cc