Windows 7でBitcoinのビルドに問題がある

参加者: LobsterMan

Visual Studio(2010)を使ってBitcoinをソースからビルドしようとしている。win32のzipアーカイブに含まれているソースを使っている。新しいmakefileプロジェクトを作成してmakefileをインポートし、boost、wxwidgets、opensslのソースと、ビルド時に不足と報告されたいくつかのファイルを入手した。ビルドログがiostream.hが必要だと報告するところまで進んだので、libstdc++からそのコピーを見つけてきた。しかし、includesディレクトリにiostream.hを配置してビルドしようとすると、以下のような大量のエラーが出る:

Code:1>------ Build started: Project: bitcoin_test, Configuration: Debug Win32 ------ 1>Build started 9/14/2010 08:07:14. 1>InitializeBuildStatus: 1> Touching “Debug\bitcoin_test.unsuccessfulbuild”. 1>ClCompile: 1> util.cpp 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(15): error C2143: syntax error : missing ’;’ before ’<’ 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(15): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(16): error C2146: syntax error : missing ’;’ before identifier ‘cs_mapAddressBook’ 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(16): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(16): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(17): error C2143: syntax error : missing ’;’ before ’<’ 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(17): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(23): error C2146: syntax error : missing ’;’ before identifier ‘dbenv’ 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(34): error C2143: syntax error : missing ’;’ before ’*’ 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(34): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(34): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(35): error C2146: syntax error : missing ’;’ before identifier ‘strFile’ 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(35): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(35): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(36): error C2143: syntax error : missing ’;’ before ’<’ 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(36): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users[myusername]\desktop\bitcoin-0.3.12\src\db.h(36): error C2238: unexpected token(s) preceding ’;’

これは2つの異なるバージョンのiostream.hで発生した(db.hの<iostream.h>をに変更してみたが同様)。includesディレクトリからiostream.hを削除すると、単にそのファイルが見つからないと報告されるだけで、上記のような何百行ものエラーは出ない。ファイルは一切変更しておらず、今はただWindows環境でプロジェクトをビルドできるようにしようとしているだけだ……

ここで行き詰まっており、何が問題なのか分からない。正直なところ自分のやっていることを完全には理解していない(WindowsでのC++の経験があまりない)が、何が問題なのかアイデアがあれば教えてほしい。