VisualC++ ビルドエラー ’main’: entrypoint not found

VisualC++(2012以上)で次のようなエラーが出ることがあると思います。

エラー    X3501    ‘main’: entrypoint not found
entry_1

このエラーが出る原因は、シェーダーファイル(XXX.hlsl)にあります。
新規にゼロからプロジェクトを作成し、シェーダーファイルを追加したときなどに起こります。

VisualC++2012からはシェーダーファイルもビルドする親切設計になりました。その親切のお陰(?)でこのようなエラーも出るようになったわけです。
このエラーは、次のように設定すれば解消します。

当該シェーダーファイルを選択し、右クリック、プロパティを開きます。

entry_2

HLSLコンパイラ、シェーダーの種類をエフェクトに、シェーダーモデルを適当に選択します。

entry_4

これでOK。

試しにわざとシェーダーを間違ってみると、

fxc

ちゃんとVisualC++IDEにエラーを表示してくれます。

なお、面倒なときは次のようにシェーダーファイルの構文チェックを無効にすることでもエラーを回避できます。
(後々のためお勧めはしません)

entry_3

Northbrain

About

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です