2012-01-23 13 views
2

私はWindows 8 MetroアプリケーションでBoost C++を使用したいが、Windows 8 Developer PreviewでVisual Studio 11経由でWindows 8にビルドされたライブラリを取得できない。これは、現時点ではVS 11のすぐに使用できる機能が限られているためです。Windows 8 Developer PreviewでBoost C++をビルドするには?

Boost(1.48.0)の最新バージョンには、インストーラは付属していません。

誰にでも解決策がありますか?

答えがWindows 7で構築されて転送されている場合は、どうすればよいですか?

ブーストC++のダウンロード:C++入門http://www.boost.org/users/download/ ブースト:http://www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html

+2

あなたはそれをどのように構築しようとしていますか? Win32 APIはMetroアプリケーションには厳しく制限されているので、一部のBoostライブラリはまったくビルドできないことに注意してください。ただし、制限されたAPIを使用していない限り、必要なものをチェリーピックアップすることができます。 –

+0

私は、Boostが動作するために変更する必要があるものの多く/ほとんどが、CreateFileをCreateFileExに置き換えるなどのAPIを単に置き換えることだと思っています。 –

+0

@LarryOsterman:それは 'CreateFile2'ですか?私はちょっと驚いています。もう1つは: '' LoadPackagedLibrary'関数は 'LoadLibraryEx'の簡略化されたバージョンです。Metroスタイルのアプリは' LoadPackagedLibrary'を使ってパッケージ化されたモジュールをロードすることができます。 – MSalters

答えて

3

Aメトロライブラリとデスクトップライブラリ異なるものです。メトロライブラリは厳しく制限されています。ライブラリをWindows 7上にビルドしてシステムに手動でインストールすることもできますが、Metroが許可しないシステムコールを作成した場合、Metroアプリケーションからシステム上で使用できるわけではありません。

「すべてのブースト」ではなく、作業が必要な部分を手に入れようとすることで最も効果的です。ファイルを操作するためにBoostを使用しない場合、ファイルアクセスが非同期である必要があり、Metroアプリケーションが適切な機能を宣言していることを保証するAPIを経由する必要がありますか?もちろん、C++ 11に含まれているBoostの一部(例えばshared_ptr)を使用している場合は、C++ 11バージョンを使用して多くの問題を解決してください。

+0

ケイト、私はあなたの答えを守り、すでに利用可能な図書館をさらに探索できるようになるまで、私が必要とする部分をつかむことにしました。私を頭痛から救ってくれてありがとう。 – AetherMass

関連する問題