全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2602
推到 Plurk!
推到 Facebook!

請問BCB裡頭的MFC compatibility選項?

尚未結案
mydearlong
一般會員


發表:7
回覆:5
積分:2
註冊:2004-08-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-13 18:28:00 IP:203.70.xxx.xxx 未訂閱
各位先進您好: 我想請問的事BCB的advance complier中有一個 MFC compatibility可以勾選的項目,其主要目的是要讓complier可以看得懂MFC 的程式語法的樣子…但看網路上的討論,要讓BCB可以編譯MFC code好像沒有這麼單純…需要去更動很多設定。 想請問的是:1,BCB一直以來號稱可以相容MFC,請問它作到了哪些部份? (我花了二天的時間來搜尋與映證…我覺得它只是說說) 2,MFC compatibility的功用是? 謝謝大家。
kj68215
初階會員


發表:47
回覆:91
積分:27
註冊:2003-08-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-30 03:48:07 IP:61.228.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-30 04:08:29 IP:61.228.xxx.xxx 未訂閱
小弟再做兩點補充. ---------------------------------------------------------------------- 1.MFC所使用的Header宣告.
 #include  
※MFC的Header檔必須寫在最上頭. ex:
#include  //若把這宣告放置#include 下,會發生很多的Error!
#include 
#include 
#pragma hdrstop    #include "Unit1.h"
//-----------------------
---------------------------------------------------------------------- 2.若編譯能成功,但是卻出現Warning的警告,那是正常的! 那是因為MFC中的一些巨集命名與BCB是相同的關係. P.S: afxwin.h是MFC的核心與標準元件;#include 是MFC的對話盒 發表人 - kj68215 於 2004/08/30 06:53:45
------
-----------------------
請多多指教啦!!^^
wearefamily
一般會員


發表:12
回覆:16
積分:5
註冊:2004-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-16 12:10:49 IP:140.116.xxx.xxx 未訂閱
我的 .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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-04-07 18:06:24 IP:140.112.xxx.xxx 訂閱
我遇到跟樓上大大一樣的問題

請問有人解過這個問題嗎?
系統時間:2024-03-29 21:09:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!