請問BCB裡頭的MFC compatibility選項? |
尚未結案
|
mydearlong
一般會員 發表:7 回覆:5 積分:2 註冊:2004-08-03 發送簡訊給我 |
|
kj68215
初階會員 發表:47 回覆:91 積分:27 註冊:2003-08-09 發送簡訊給我 |
mydearlong,您好!
據小弟所知,若您想要在BCB下編譯MFC的source code並非那麼容易!
且容易發生Warnning與Error!
要避免這事情發生,就必須要自己動點手腳.
小弟去翻閱身邊已有的舊文章,提供BCB3的做法...
(至於BCB6的做法上,Step(d)的步驟似乎有些不同,小弟也不清楚該怎麼做)
1.將動過手腳的Project檔給放到Object Repository.([Project/Add to Repository...])
2.按下選單上的New,就可以在BCB上開始寫作MFC了!
P.S:所謂動過手腳的Project就是以下Step的步驟!
---------------------------------------------------------------------
Step(a):新增一個新的Project. Step(b):在Project Option裡的[Directories/Conditionals]這Dialog中,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(c):接著在[Advance Compilers]這Dialog裡,將MFC Compatibility給勾選起來. Step(d):緊接著將檔案給存起來,裡用文字編輯器(筆記本或是UltraEdit都可以)來修改這個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 以上這動作都完畢後,就存檔.
---------------------------------------------------------------------
※如此一來,就可以直接在BCB下編譯MFC的程式碼囉! 另外補充一點,若小弟沒記錯的話,此方法在BCB下編譯出的檔案會是靜態連結(Static Link),不是動態連結(Dynamic Link)! 發表人 - kj68215 於 2004/08/30 06:55:06
------
----------------------- 請多多指教啦!!^^ |
kj68215
初階會員 發表:47 回覆:91 積分:27 註冊:2003-08-09 發送簡訊給我 |
小弟再做兩點補充.
----------------------------------------------------------------------
1.MFC所使用的Header宣告.
#include※MFC的Header檔必須寫在最上頭. ex: #include---------------------------------------------------------------------- 2.若編譯能成功,但是卻出現Warning的警告,那是正常的! 那是因為MFC中的一些巨集命名與BCB是相同的關係. P.S: afxwin.h是MFC的核心與標準元件;#include
------
----------------------- 請多多指教啦!!^^ |
wearefamily
一般會員 發表:12 回覆:16 積分:5 註冊:2004-03-13 發送簡訊給我 |
我的 .bpr 裏沒看到
CFLAG3
有人成功過嗎? 我改完,用到CPoint 和 CArray,
compiler還是會出現 error
[C++ Error] Windows.hpp(2169): E2040 Declaration terminated incorrectly
...
[C++ Error] fd.cpp(234): E2451 Undefined symbol 'CArray'
[C++ Error] fd.cpp(234): E2108 Improper use of typedef 'CPoint'
...
且會跳到 windows.hpp 這一行
static const Shortint ID_HELP = 0x9;
|
CWKid
一般會員 發表:6 回覆:10 積分:3 註冊:2007-07-29 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |