今天我在弄一個DLL工程的時候,出現了C4251的警告,導致這個警告的原因是,在我的導出類里面有一個D3DXMATRIX的成員變量。
要解決問題是很容易的,只需要向前申明的時候將D3DXMATRIX導出來即可。具體解決步驟如下:
一般來說,DLL都會有這么一個用于導出的宏。
#ifdef DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
我們可以將D3DXMATRIX的先前申明修改為:
struct EXPORT D3DXMATRIX;
這樣,之前的警告便88了。