特定のPC環境でビルドを行うと「Invalid PLATFORM variable ..」のエラーが発生する
問題
特定のPC環境でDelphiあるいはC++Builderのプロジェクトをピルドすると、以下のような内容のエラーメッセージが表示され、ビルドできないことがあります。
[Error エラー] Invalid PLATFORM variable "HPD". PLATFORM must be one of the following: "Win32", "Win64", "Android32Arm", "Android64Arm", "iOSSimulator32", "iOSDevice32" "iOSDevice64", or "OSX32", or "OSX64", or "Linux64". If PLATFORM is defined by your system's environment, it must be overridden in the RAD Studio IDE or passed explicitly on the command line to MSBuild; e.g., /p:Platform=Win32.
このエラーは、主にHP社製のコンピュータを使用している場合に発生する問題で、Windows の環境変数であるPLATFORMに、HP社製のPC固有の文字列が設定されている場合があります。 例えば、HP社製のPC固有の文字列とは、HPDやBNBなど
RAD Studioのビルドシステムでは、ターゲットプラットホームの指定はPLATFORM環境変数を使用し、有効な値はDelphiやC++Builderの各バージョンによって異なります。
例えば、Delphi 10.4 であれば、
- Win32
- Win64
- Android32Arm
- Android64Arm
- iOSSimulator32
- iOSDevice32
- iOSDevice64
- OSX32
- OSX64
- Linux64
となります。
(これらの値は、MSBuildコマンドの/p:Platformのパラメータとして渡され、大文字/小文字を区別しますのでご注意ください)
このPLATFORM 環境変数が既に別の値に設定されている場合、RAD Studioのビルドシステムに影響を与え、すべてのビルドでエラーが発生します。
なお、HP 社製のコンピュータでは、一般的にこの環境変数の値が設定されていますが、その利用方法については分かっていません。PLATFORM 環境変数が、システム環境によって定義されている場合、RAD Studio IDE でオーバーライドするか、MSBuild のコマンドラインで、たとえば、/p:Platform=Win32 のように明示的に渡す必要があります。
解決
この問題を解決するためには、PLATFORM 環境変数の値の変更が必要です。
例えば、RAD StudioのIDEでオーバーライトする場合は、次のように行います。
- IDE のメニューから、[ツール | オプション] を選択します。
- オプションダイアログが表示されますので、左のツリーから「環境変数」を選択します。
- 右側に設定されている環境変数が表示されます。ユーザーあるいはシステム環境変数内にPLATFORM環境変数が存在し、値が設定されている場合は、この値を空の文字列を設定してクリアし、オーバーライドしてください。
上記の手順を実施することにより、 RAD StudioのIDEからプロジェクトをビルドする際に「Invalid PLATFORM variable」エラーが解消されます。