VC產生的DLL中的class要如何使用? |
尚未結案
|
howdz
一般會員 發表:17 回覆:12 積分:5 註冊:2003-12-16 發送簡訊給我 |
請教各位,我用VC產生了一個DLL,
Test.h: [code cpp] class __declspec(dllexport) CTest{ public: CTest(){}; virtual ~CTest(){}; bool Load(TCHAR *FileName, DWORD ImageType); };[/code] Test.cpp: [code cpp] bool CTest::Load(TCHAR *FileName, DWORD ImageType) { if(!Image.Load(FileName, ImageType)) return false; Image.Save("test.bmp", CXIMAGE_FORMAT_BMP); return true; }[/code] 然後我在BCB的project中#include "Test.h", 並宣告CTest Test; 都可compile過關; 但我執行Test.Load("D:\\001_1.Bmp", CXIMAGE_FORMAT_BMP) 時, 如果未加入Test.lib 會出現 [Linker Error] Unresolved external 'CTest::Load(char *, unsigned long)' referenced from X:\XXX\UNIT1.OBJ 但直接加入VC產生的 Test.lib 會出現 [Linker Error] 'X:\XXX\Test.LIB' contains invalid OMF record, type 0x21 (possibly COFF) 使用 IMPLIB -a Test.lib Test.dll 後加入 Test.lib ,則又出現錯誤訊息: [Linker Error] Unresolved external 'CTest::Load(char *, unsigned long)' referenced from X:\XXX\UNIT1.OBJ 我始終無法使用class裡的function,請問我該怎麼修改?? 編輯記錄
howdz 重新編輯於 2009-05-26 17:14:27, 註解 無‧
|
ikk
尊榮會員 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
|
howdz
一般會員 發表:17 回覆:12 積分:5 註冊:2003-12-16 發送簡訊給我 |
Hi, ikk :
我有搜尋過,不過幾乎都是VC去呼叫VC的DLL(這我已經有成功試出來了), 再不然就是BCB去呼叫VC的DLL,但是DLL裡只export function出來; 但我目前需要的是BCB去呼叫VC的DLL、 而且去呼叫DLL中export出來的class裡的member function... 我如果用一樣的方式去呼叫,就會出現像我發文說的狀況。 是否有BCB呼叫VC產生的DLL,並使用DLL中的class裡的function的範例? ===================引 用 ikk 文 章=================== 使用 DLL 中的class, 是有些技巧在的, 可以使用"DLL export c class" 關鍵字在網路上找相關資料.....
編輯記錄
howdz 重新編輯於 2009-05-26 20:50:16, 註解 無‧
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |