64bitアプリケーションの開発をするために、Microsoft Windows SDK v7.0 の
Windows SDK Configuration Tool を実行してビルドを実行したのですが
atlsd.lib が開けないというエラーが出てしまいます。
検索をすると複数のフォルダに存在しているので、試しに VC\atlmfc\lib を
ライブラリのパスに設定してみたら以下ようなエラーが出てしまいました。
module machine type 'X86' conflicts with target machine type 'x64'
どのように設定したらビルドできるようになるのでしょうか?
開発環境は VisualStudio 2008 です。
よろしくお願いします。
他のフォルダにあるやつも試してみてはいかがでしょう。
検索では以下の場所にファイルがあったのですが、
どれを指定してもエラーが表示されてしまいました。
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsiv
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\sh4
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsii_fp
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsiv_fp
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\x86
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\armv4i
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsii
Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\armv4
Microsoft Visual Studio 9.0\VC\atlmfc\lib
64bit のアプリケーションに適した開発環境かどうかが分かりません
1.プロセッサー(CPU)が 64bit 開発に適したものかどうか不明
2.OSが 64bit 開発に適したものかが不明
>module machine type 'X86' conflicts with target machine type 'x64'
というエラー?メッセージは x64 用のコードが必要なのに
A. 使おうとしているモジュールの方が x86 のコードなので
B. ビルド環境(OS,CPUも含めた)が x86 なので
なんか違ってませんかと言っているように読めませんか?
>どれを指定してもエラーが表示されてしまいました。
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsiv
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\sh4
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsii_fp
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsiv_fp
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\x86
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\armv4i
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\mipsii
>Microsoft Visual Studio 9.0\VC\ce\atlmfc\lib\armv4
ce なんか選んでも駄目でしょう。(これらのパスの最後は Windows CE の
サポートしているCPUを示しています)
>というエラー?メッセージは x64 用のコードが必要なのに
>A. 使おうとしているモジュールの方が x86 のコードなので
>B. ビルド環境(OS,CPUも含めた)が x86 なので
>なんか違ってませんかと言っているように読めませんか?
x64のフォルダが無いのでメッセージの意味を知ってる上で駄目もとで試しました。
atl の 新規作成したプロジェクトをビルドしただけで atlsd.lib が
開けないといわれてしまうので何が悪いのかわかりません。
こちらの環境 (Visual Studio 2008 Professional SP1)では、x64版atlsd.libは
(ほにゃらら)\Microsoft Visual Studio 9.0\VC\atlmfc\lib\amd64
にありました。「x64」ではなく「amd64」なのでご注意を。ちなみに、これは
別配布のSDKではなく、Visual Studio一式のインストーラに含まれています。
ただし、インストール時に規定を選ぶと上記のフォルダとその内容は
インストールされません。全てのインストールを選択するのがお勧めです。
ところで、今、MSDNサブスクライバダウンロードを覗いてみたら、
Visual Studio 2008 Professional Edition (x86)
と
Visual Studio 2008 Service Pack 1 (x86, x64 WoW)
がバラで置かれていました。
名前から考えると、これらを使った場合、SP1を当てるまではそもそもx64開発が
できないのかもしれません。
以前はx86, x64同梱版(ただしSP未適用)もあったと思いますが……
というか、なければ手元にある同梱版ISOイメージの説明が付かない(^^;
>「x64」ではなく「amd64」なのでご注意を。
「ia64」もあるのかも知れませんね。
> 名前から考えると、これらを使った場合、SP1を当てるまではそもそもx64開発が
> できないのかもしれません。
それは、ありえると思います。
最新のSDKをダウンロードしてSDKのみで開発するか、
SP1をインストールして最新の「Visual Studio 2008」にする必要があると思います。
いろいろ情報ありがとうございます。
ようやくx64形式でビルドできるようになりました。
VisualStudio2008のインストール時に、デフォルトの設定だと
x64用のatl関連のファイルがインストールされないことがわかりました。
VisualStudio2008のすべてをインストールする設定でインストールしたら
ファイルがインストールされました。
ご迷惑をおかけいたしました。
質問に答えてくださった方ありがとうございました。