在DLL中編寫CWnd的子類,在其他DLL或EXE調(diào)用時(shí)出現(xiàn)問題,在不重載Create時(shí),運(yùn)行中被ASSERT掉;重載Create后編譯時(shí)表示無法找到Create的函數(shù)地址。求詳解!我想知道是不是工程設(shè)置有問題 ,因?yàn)殒溄渝e(cuò)誤是LNK2001,而且只有Create一個(gè)函數(shù)有問題,在new出該類的位置并不提示構(gòu)造函數(shù)有鏈接錯(cuò)誤。
3 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
創(chuàng)建含有基于MFC擴(kuò)展的類的DLL,需要使用 Mfc Extension Dll 動(dòng)態(tài)庫
看看你創(chuàng)建DLL工程時(shí)候的設(shè)置
集中MFCDLL的差別一個(gè)是宏定義,一個(gè)是入口函數(shù)。主要目的是為了保證資源句柄的正確切換,和LIB的鏈接。
修改配置來的麻煩,你重新構(gòu)建一個(gè)DLL工程,然后把先前的文件都加進(jìn)去即可

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
你在Create函數(shù)未重載的時(shí)候調(diào)用參數(shù)都給了什么?我懷疑你的窗口沒有被建立起來,比如說RegisterClass, WndParent,Instance給錯(cuò)了或者為空,就會(huì)導(dǎo)致create失敗從而在進(jìn)一步操作的時(shí)候(比如說showwindow())引發(fā)Assert。
- 3 回答
- 0 關(guān)注
- 795 瀏覽
添加回答
舉報(bào)
0/150
提交
取消