はじめまして
64ビットのC/C++での開発環境の構築についてご教授ください。
環境は、Visual Studio 6.0 / Visual C++ 6.0です。
これに、PSDK SP1を当てています。
OSは、WinXP Pro SP2 および Win Server 2003 x64です。
そこで、64ビットのアプリケーションを作りたいのですが・・・
Visual Studio 2003、2005での構築はあちらこちらにあるようですが、Visual C/C++の
環境での方法というのがないようで、困っています。
<.NET2005、2003を買わないで済ませたい
どなたか、ご経験のある方、もしくは、参考サイトをご存知の方がいらっしいましたら
よろしくお願いします。
OKWaveでまったく同じ質問を見かけた。
申し訳ありません、私はこちらのサイトへの投稿がはじめてなのですが・・・
OKWaveを検索しましたが、回答からするとできない?
ただ、その方も同じような環境で、PSDKをあたられてるようで。
PSDKには、64bitのコンパイラ、リンカが付属しています。
ですので、そのパスをうまく渡してあげればいいような。
ただ、プロジェクトが32bitのデバッグかリリースモード・・・となりますので、
.netのように、64bit用のソリューションを追加するようなことができるのかどうか?
CPUには、OPTIONで、IA64やx64などの指定ができないようですし。
何かやる方法があるのではと。
.netとなる前、マイクロソフトの開発部隊が、Visual Studio 6.0で64bitアプリを
開発したということを読んだ記憶があります。
それで、ご経験、もしくはご存知の方がいらしたらと思いました。
探しておりましたら、このようなものが出てきましたので、なんとかなりそうです。
もう少し詳しい内容をご存知の方がいらっしゃいましたら、あつかましいですが具体的内
容を教えていただければ。
http://msdn.microsoft.com/visualc/using/building/64bit/64bittoolsrecommend/defau
lt.aspx
↑ざっくり読んでみましたが、詳しい内容もなにもそのまんまじゃねぇですか?
PlatformSDKにはIA64コンパイラが入ってました。
同じディレクトリに
Microsoft® C/C++ Compiler (Targeting Intel Itanium Architecture) Release Notes
がありましたが、読みました?
解決しました。
書かれてはいましたが、実際、/machine:xxxの問題でLNK1112が発生していたり。
また、security_cookyのエラー、C++7.1でサポートされていないコンパイル
オプションがVC6,0では勝手に出来てたり・・・
strlenで得られる値をintで受けるとワーニングが出たり・・・
色々とありましたが、一応解決しました。
手順
1. ウィンドウズのスタート->PSDK->build環境のバッチファイルを走らせる。
2. そうすると、コマンドプロンプトが開くので、そこからmsdevのあるところに
3. ディレクトリを移動させ、msdev /userenv でVC6.0を立ち上げる。
4. Toolのオプションで、ディレクトリタブを選択し、LIB、EXE、INCLUDEのパスを
目的のPSDKのディレクトリに設定する。(私の場合はAMD64でした)
5. プロジェクトのC/C++の部分で、/GXがあれば削除、/ZIもワーニングが出ます。
あと、/MLd、/MCもサポートされていませんのでタイプを変更
6. プロジェクトのLINKの部分で、/machine:AMD64(私の場合)追加
ライブラリファイルにbufferoverflowU.lib (_security_xxxエラー回避の為)追加
7. ここまでで、一応ビルド可能です。(Win32のプロジェクトで作成)
8. ソース内で、型、特にポインターなどは注意して修正のこと。
(ソース内の置き換え、型変換などはちょこちょこありました)
私はこれで、32bit->64bitに変更して動作しましたが・・・、何か別の問題が
発生することがあれば、ごめんなさい。参考までに
以上