リンカー ツール エラー LNK1112
モジュールのコンピューターの種類 'type1' は対象コンピューターの種類 'type2' と競合しています。
解説
入力として指定されたオブジェクト ファイルは、別のターゲット プラットフォーム用にコンパイルされました。
たとえば、 /clr
でコンパイルされたオブジェクト ファイルと、 /clr:pure
(コンピューターの種類 CEE) でコンパイルされたオブジェクト ファイルをリンクしようとすると、リンカーによってエラー LNK1112が生成されます。 /clr:pure
コンパイラ オプションは Visual Studio 2015 では非推奨となり、Visual Studio 2017 ではサポートされていません。
同様に、x64 コンパイラを使用して 1 つのモジュールを作成し、x86 コンパイラを使用して別のモジュールを作成して、それらをリンクしようとすると、リンカーが LNK1112 を生成します。
このエラーの原因として考えられるのは、64 ビット アプリケーションを開発しているが、Visual C++ 64 ビット コンパイラの 1 つをインストールしていない場合です。 または、ARM または ARM64 プラットフォームを対象としていますが、ARM または ARM64 ビルド ツールがインストールされていません。 この問題を解決するには、Visual Studio インストーラーを実行し、不足している C++ コンポーネントをインストールします。
このエラーは、 構成マネージャー の アクティブ ソリューション構成 を変更する場合にも発生する可能性があり、その場合は中間出力ファイルを削除する前にプロジェクトのビルドを試行します。 このエラーを解決するには、 [ビルド] メニューから [ソリューションのリビルド] を選択します。 [ビルド] メニューから [ソリューションのクリーン] を選択して、ソリューションをビルドすることもできます。