カスタムビルド実行のコントロール

テクニカル・ノート 83760

アーキテクチャ:

All

コンポーネント:

IDE

更新日:

2021/06/27 16:22

はじめに

一般的な機能であるCustom Build(カスタムビルド)を実行すると、ファイルが見つからない というメッセージが出るなど、想定外の結果となることがあります。

解説

Custom Build(カスタムビルド)の動作が想定と異なる場合、通常、Custom Build(カスタムビルド)によって起動されるツールによって生成されるファイルは、以下のように不明ファイルとして報告されます。

Fatal Error[Pe1696]: cannot open source file [...]

背景

この原因は、プロジェクトビルドエンジンがCustom Build(カスタムビルド)を、コンパイラやアセンブラと並行して実行することにあります。これにより、コンパイルに使われるファイル(例えば、ヘッダファイル)、つまり、Custom Build(カスタムビルド)ツールが生成するファイルが見つからないということになります。

IDEバージョン7.1.5 から 8.x.xでの解決策

Custom Build(カスタムビルド)から呼び出されたツールの実行が、どのファイルのコンパイルよりも前に確実に行えるように、Run this tool before all other tools(他のすべてのツールより先にこのツールを実行する)オプションを有効にしてください。

Custom Build(カスタムビルド)ツールの実行を、リンクの前に行いたい場合もあります。しかし、バージョン8.x.x以前のIDEでは、これはできません。(この場合、コマンドラインからビルドを行ってください。)

バージョン7.1.5より前のIDEで実行可能な解決策

Custom Build(カスタムビルド)ツールが呼び出すファイルの名前を変更した後、プロジェクトの依存関係を強制的にリビルドします。

  1. アルファベット順で、C、C++、アセンブラのすべてのソースファイルより前にソートされるように、入力ファイルのファイル名を変更してください(例えば、input.xxxは、アルファベット順で最初にソートされる_input.xxxに変更可能です)。

  2. Project(プロジェクト)> Clean(クリーン)を選択してください(これにより.depファイルが削除され、プロジェクトの依存関係が強制的にリビルドされます)。
  3. Project(プロジェクト) > Make(メイク)を選択してください。

依存関係ファイル(拡張子.dep)が正常にリビルドされるように、ステップ2と3は、必ず2回以上繰り返してください

 

まとめ

バージョン7.1.5から8.x.xのIDEでは、コンパイルの前にCustom Build(カスタムビルド)を実行することが可能です。

このテクニカルノートでは、バージョン7.1.5より前のIDEにも使える解決策を示しています。

 

全ての製品名は、それぞれの所有者の商標または登録商標です。

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。