0

次の手順を使用して、Visual Studio2005Professionalで空の64ビットC++アプリケーションを構築しようとしています。

  1. 新しいWin32コンソールアプリケーションプロジェクトを作成します
  2. Configuration Managerに移動し、タイプx64の新しいソリューションプラットフォームを作成し、Win32から設定をコピーします
  3. 保存してビルド

ただし、次のエラーが発生します。

LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

だから、私はライブラリディレクトリを更新して:を指すようにしましたkernel32.lib

  1. [プロジェクトのプロパティ]、[リンカー]、[一般]、[追加のライブラリディレクトリ]に移動し、[C:\ Program Files \ Microsoft Visual Studio 8 \ VC \ lib\amd64]を設定します。
  2. 保存してビルド

これは私にエラーを与えます:

LINK : fatal error LNK1104: cannot open file 'user32.lib'

だから、私はライブラリディレクトリを更新して:を指すようにしましたuser32.lib

  1. プロジェクトのプロパティ、リンカー、一般、追加のライブラリディレクトリに移動し、「C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Lib\x64」を追加します。
  2. 保存してビルド

しかし今、私はエラーを受け取っています:

.\x64\debug\stdafx.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

私が間違っていることについて何か考えはありますか?

4

3 に答える 3

0

質問が出されてから長い時間が経ちましたが、たまたまこれを読んだ他の人の利益のために、必要な変更はリンカーフラグの設定にあります。/machine:I386 を /machine:x64 に変更します

于 2013-10-16T06:57:00.307 に答える
0

stdafx.objシステム ライブラリではなく、オブジェクト ファイルに問題があるようです。警告は、それstdafx.objが 32 ビットであるため、64 ビット ターゲットにリンクできないことを示しています。試すこと:

  • ビルド ディレクトリx64を削除し、win32
  • プロジェクトを再構築する
  • ビルド設定をチェックしてstdafx.cpp、64 ビットとしてビルドされていることを確認します。
于 2012-07-13T08:33:59.900 に答える
0

Visual Studio のインストールが壊れていたに違いありません。Windows と VS2005 の新規インストールにより、問題が修正されました。

于 2012-07-16T03:28:26.853 に答える