2016-05-13 16 views
0

ソースコード(.pasファイル)として配布されているいくつかの非ビジュアルライブラリ(OmniXML、Synapse、TntUnicodeのいくつかのクラスなど)を使用するDelphi 2007プロジェクトがあります。Delphi 2007のプロジェクトライブラリパス

IDEのパスをTools -> Options -> Environment -> Delphi -> Library Win32 -> Library pathに追加することはできますが、これらのパスは各コンピュータで設定する必要があり、すべてのプロジェクトで同じライブラリバージョンを使用する必要があります。

代わりにプロジェクトに追加する方法はありますか?私が理解しているように、プロジェクトオプションHow can I add a library path to a delphi project?の新しいDelphiバージョンでは可能ですが、2007年にはこのようなオプションは表示されません。

Directories/Conditionalsの検索パスのみが見つかりましたが、リリース/デバッグの設定では別のものです。${BDS}以外のマクロはここでは動作しません。また、そのような使用が意図されているかどうかはわかりません。おそらく、より良い選択肢がありますか?

enter image description here

+1

すべての.dcuファイルをローカルツリーに置き、相対パスをプロジェクト検索パスに追加します。 .dcuをデバッグしている場合は、それらをローカルツリーに追加することもできます。 –

+0

はい、ありがとう、 "libs \ mylib \ source"のような相対パスのように見えます。 – AlexP11223

答えて

4

私は、ツールオプション、すべてのDelphiバージョン、およびプロジェクトごとに独自の検索パスを持つことを余儀なくされているライブラリパスはありません。

  1. すべてのビルド構成で同じ設定を使用することをお勧めします。これを行うために、私はルートノードを使用することを確認します。ビルド=デバッグ設定とビルド=リリース設定があるので残念ながらDelphi 2007では直感的ではありませんが、正しく覚えていればDelphi 2007ではROOTノードはありません。

  2. Delphi 2007では、デバッグのリリースとリリースブランチの値を手動でSAMEに保つことに特別な注意を払う必要があるかもしれません。

  3. 質問に答えるためには、一般的には$(PROJECTDIR)を使用する必要はありません。完全なパスは必要ありません。相対パスを使用する必要があります(..\Lib\Dir1;..\Lib\Dir2;..\Lib\Dir3など)。相対パスを使用する私の目標は、コードをチェックアウトしてどこにでも構築したいという欲求を満たすことです。特定のディレクトリ(C:\YOURAPP)にチェックアウトされたときにのみ構築できるコードは、まったく怠け者であり、実用的ではないだけでなく、非常に悲しいことに、あなたがそれがベストプラクティスだと思うかもしれないことを敢えて言ってください。このような手間のかからないコードベースは、適切な継続的な統合の慣行を妨げたり、異なるブランチやメジャーバージョンなどの複数の作業コピーを作成することを防ぎます。また、すべてのコードを何らかの仮想マシンでほとんどビルドしないようにしています。誰も自分のコードを設定する方法を知っていないので、VMでそれを押して、混乱を許します。

  4. あなたが他のものがどこにあるのか分からないときなど絶対に使用できないときは、自分のOWNを社内のルートフォルダ変数に設定する必要があります。あなたの会社がACMEと呼ばれる場合はACMEROOT私は自分自身でそれを設定します。私の現在の会社では、製品の最初の大文字はPとSなので、私たちはそれをPSと呼ぶルート変数を持っています。そして$(BDS)がライブラリパスで使われているのと同じように$(PS)を使います。

  5. 環境変数を設定してIDEに直接書き込んで、必要な環境変数を作成する外部ツールを使用すると便利な場合があります。コードをチェックアウトする方法がありますバージョン管理からこのツールを実行して自分の環境を設定します。パッケージをインストールしたり、コンポーネントをインストールしたり、ライブラリのパスやプロジェクトを設定したりするだけで、ビルドするだけで、新しいコードをチェックして実行することができます。残念ながら、IDEはこのような練習に必要なものすべてを提供するわけではありませんが、コードベースを構築するのにポータブルできれいなものを提供できるサードパーティのツールがあります。

+0

はい、相対パスはまさに私が望んでいたものですが、私はDelphiが検索パスの相対パスを解決して、 '$ {ProjectDir}'のようなものが必要であると思っていませんでしたStudio)を使用して、常に動作することを確認します。 – AlexP11223

+0

ビジュアルスタジオでさえ、そうするのが紛らわしいと思わない限り、おそらく相対パスを使用するべきです。 –

-3

はい。 Delphiを開きます。プロジェクトマネージャーに移動します。右クリックし、[オプション]を選択します。 ツリーから[Resource Compiler]を選択し、[Directories and Conditionals]を選択します。

ここからプロジェクトの検索パスを定義できます。 $(リンク)について心配しないでください。実際の経路を使用してください。もちろん、各コンピュータは同じ構成にする必要がありますが、いずれの場合もそうです。

+0

D2007についてお聞きしますか? "リソースコンパイラ"はありません。とにかくすでに検索パスが見つかりました。上のスクリーンショットを参照してください。しかし、私はそこにフルパスを使用することを避けるために、プロジェクトディレクトリのためのいくつかのマクロが存在すべきだと思います。 – AlexP11223

+2

リソースコンパイラの検索パスは、ライブラリパスとは関係ありません。 – dummzeuch

+0

これはライブラリのパスとは関係がないだけでなく、Delphi 2007には存在しません.Delphi 2007はこの質問に特にタグが付けられています。 –