カスタムビルド実行のコントロール
テクニカル・ノート 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(カスタムビルド)ツールが呼び出すファイルの名前を変更した後、プロジェクトの依存関係を強制的にリビルドします。
-
アルファベット順で、C、C++、アセンブラのすべてのソースファイルより前にソートされるように、入力ファイルのファイル名を変更してください(例えば、input.xxxは、アルファベット順で最初にソートされる_input.xxxに変更可能です)。
- Project(プロジェクト)> Clean(クリーン)を選択してください(これにより.depファイルが削除され、プロジェクトの依存関係が強制的にリビルドされます)。
- Project(プロジェクト) > Make(メイク)を選択してください。
依存関係ファイル(拡張子.dep)が正常にリビルドされるように、ステップ2と3は、必ず2回以上繰り返してください
まとめ
バージョン7.1.5から8.x.xのIDEでは、コンパイルの前にCustom Build(カスタムビルド)を実行することが可能です。
このテクニカルノートでは、バージョン7.1.5より前のIDEにも使える解決策を示しています。
全ての製品名は、それぞれの所有者の商標または登録商標です。