次の方法で共有


リンカ ツール エラー LNK1112

モジュールのコンピューターの種類 'type1' は対象コンピューターの種類 'type2' と競合しています。

解説

入力として指定されたオブジェクト ファイルは、別のターゲット プラットフォーム用にコンパイルされました。

たとえば、コンパイル済みのオブジェクト ファイルとコンパイルされた/clrオブジェクト ファイル /clr:pure (コンピューターの種類 C Enterprise Edition) をリンクしようとすると、リンカーによってエラー 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++ コンポーネントをインストールします。

このエラーは、 構成マネージャーアクティブ ソリューション構成 を変更する場合にも発生する可能性があり、その場合は中間出力ファイルを削除する前にプロジェクトのビルドを試行します。 このエラーを解決するには、 [ビルド] メニューから [ソリューションのリビルド] を選択します。 [ビルド] メニューから [ソリューションのクリーン] を選択して、ソリューションをビルドすることもできます。

関連項目