BCB1 から BCB3 へ移動したプロジェクトでのプリコンパイルヘッダ利用
|
BCB1 のプロジェクトをそのまま BCB3 でコンパイルするととても時間がかかります。これは、BCBのプリコンパイルヘッダ機能が生かされていないためです。
Builder1と Builder3でヘッダ情報のパスが違っています。
具体的には、
#include<vcl\header.hpp> // Builder 1
#include<header.hpp> // Builder 3
というように先頭のvcl\が無くなっています。
実際に読み込むファイル自体は同じなのでコンパイル自体は問題なく行うことができます。
結果として大きなヘッダを毎回読んでいる事になります。
次の要領でヘッダを修正してください。
1.フォーム付き(*.dfm)のユニット
(1) ヘッダファイルを開きます。
(2) 先頭の#includeの塊を#includeを1行だけ残して後は全て削除します。
ただし,手作業で意図的に追加した分は残しておきます。
(3) Ctrl+Sでそのヘッダファイルを保存します。
(4) Builderが自動的に必要なヘッダファイルを挿入してくれます。
(5) (2)で残った行で意図的に追加していないヘッダであれば削除します。
(6) Ctrl+Sで(2)で消した分が挿入されます。
2.ファームがないユニット(コンポーネントなど)
(1) ヘッダファイルを開きます。
(2) #include<vcl\〜.h>となっている行が在ればvcl\の部分を削除します。
(3) Ctrl+S等で保存します。
こっちの場合には,自動的に付加してくれないのでヘッダファイル名の大文
字と小文字も同じにする必要があります。プリコンパイルヘッダは相変わら
ず大文字と小文字を区別しているので,db.hppとDB.hppは別物として認識し
てくれます。
※例でも上げていますが,DB.hppからDb.hppにヘッダ名が変わっているの
でDBアプリを作っている人は注意してください。
なお,BCB3で新しくアプリケーションを作る場合には関係ありませんが,C++で書かれたコンポーネントをインストールする際には注意して下さい。
|
|