C++ Builder 3.0下編譯含有MFC的程式 |
|
jackkcg
站務副站長 ![]() ![]() ![]() ![]() ![]() 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
此為轉貼文章 C Builder 3.0下編譯含有MFC的程式
雖然說 C Builder 3.0 是 Borland C 5.02 的下一個版本,一樣支援 MFC ,
但若要在C Builder 3.0 下使用 MFC 並不簡單。不是直接寫個 MFC native
Code 並在 Project Option 中再勾選個 MFC Compatibility 這?簡單,若你只這樣
做,保證你在編譯時一定會得到一堆的 Warnning 與 Error。
要讓你與 BCB 都能夠輕鬆的編譯 MFC ,我們所必需的就是自己動點手腳,並將這個
動過手腳的 Project 檔給放到 Object Repository;之後,你只需要按下選單上的
New 就可以開始你的 MFC in BCB之路了。
Step 1、
New 一個新的 Project
Step 2、
在 Directories\Conditionals 這一頁的Conditionals\Conditional defines中給
加入:
_X86_
_WINDOWS
_MSC_VER=1100
_AFX_PORTABLE
_AFX_NOFORCE_LIBS
_MT
_CRT_PORTABLE
_AFX_NO_DEBUG_CRT
這幾個編譯用的參數。
並記得在 include path 加入 $(BCB)\include\MFC 這一項。
Step 3、
接著在 Advance Compilers 這一頁裏將 MFC Compatibility 給勾選起來,
Step 4、
緊接著,將檔案給存起來,裏用文字編輯器來修改這個 Project 的 bpr 檔。
找到 CFLAG1 = ...... 這一行
將這一行給?
CFLAG1 = -Od -Hc -w -k -r- -y -v -vi- -c -w-par -w-inl -w-hid -w-aus -g0
-WM -W
再找到 CFLAG3 = ...... 這一行
將這一行給?
CFLAG3 = -Tkh30000 -VF
最後找到 ALLLIB = .... 這一行
將這一行給?
ALLLIB = $(LIBFILES) $(LIBRARIES) nafxcw.lib import32.lib cw32mt.lib
接著就是存檔羅!
Step 5、
這樣一來,就可以直接在BCB3下享用MFC羅!
不可不知道
在此範例中,所編譯出來的檔案將會是 static link 的版本,並非 dynamic link,
要怎?樣在 BCB 3 下做 dynamic link MFC library 呢?在此先賣個關子,看看
BCB 裏所附上的範例吧!
此外,在 BCB 有很多方式來鏈結 VCL 與 MFC,大致可分?兩類 :
1、以 TApplication ?主體,而程式中混合使用 VCL與 MFC 所提供的其他類,如
CDC、CPoint、CFile 等等.....。
2、以 MFC 的 CApp ?主體,在選單中呼叫 VCL 所組合而成的 Form。
而這兩類要怎?樣在 BCB 裏完成呢?動動您的腦筋想想看吧!
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |