December 22, 2011

[Boost/WinRT]Windows8のメトロスタイルアプリでBoost!

これは Boost Advent Calendar 2011 の22日目の記事です
  • Boost Advent Calendar 2011
    リンク切れ→http://partake.in/events/597a0fc3-0e3a-47a3-8fc3-4f32ad846a3d
次世代WindowsOSと言われているWindows8について
アプリケーションプラットフォームが2種類あるのはご存じのとおり

  • 従来のデスクトップアプリ
    boost02
    boost01

    なんかイイ!!ヽ(`▽´)/
     
  • 新たなWinRTというAPIの、メトロスタイルアプリ
    boost03

    なんだいこれは??(・ω・)ノ
     
さておき

このメトロスタイルアプリは C/C++/C#/VB.NET/JavaScript
色んな言語で開発可能です

というわけで、C++が動くんなら Boost も動くよね?という軽い気持ちで
ちょっと触ってみました

いつものように展開後、

>
C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat
>bootstrap.bat

を実行してみるのですが、おやおや

execnt.c(31) : fatal error C1083: Cannot open include file: 'tlhelp32.h': No such file or directory

なんでしょねぇ。。とりあえず、インストールしたいがゆえの対応ということで
"tlhelp32.h" を適当に持ってきてコンパイル

ふぅ。まずは、Windows8上にインストール完了★

 ※後で気が付いたのですが、ちゃんと StackOverFlowで
  VS2010に組み込む方法をやってくれてました
  http://stackoverflow.com/questions/tagged/boost?sort=votes&pagesize=15 

しかしところが、WinRTではC++でうまく TextBox / TextBlock などなど
表示できなかったです

仕方がないので、Button を変更するBoostの乱数を利用してみました

//
// MainPage.xaml.cpp
// Implementation of the MainPage.xaml class.
//

#include "pch.h"
#include "MainPage.xaml.h"
#include "boost\random.hpp"
#include "sstream"
#include "string"


using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Data;
using namespace Application3;

MainPage::MainPage()
{
InitializeComponent();
}

MainPage::~MainPage()
{
  
}

void Application3::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
  boost::mt19937 rand;
  boost::uniform_int<> distribution(1, 6);
  std::stringstream ss;
  ss << distribution(rand);
//  text10->Content = "123";
  text10->Content = ss.str();
}

//
// MainPage.xaml.h
// Declaration of the MainPage.xaml class.
//

#pragma once

#include "pch.h"
#include "MainPage.g.h"

namespace Application3
{
public ref class MainPage
{
public:
MainPage();
~MainPage();
  private:
    void Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
  };
}

なんてことないんですけど… Boostのインストールの方が大変でした
ちゃんとWinRTでも Boostは動きますが、正式版になってから触った方が良さそうですね

特にXAML回りが………

haruka_sao at 23:01コメント(0)C++ | Windows8 

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
Sao's Tech Memo
mvp_logo_140

Microsoft MVP for Developer Technologies
[Jul,2018-Jun,2022]
Microsoft MVP for Windows Development
[Jan,2016-Dec,2018]
Microsoft MVP for Windows
Platform Development
[Jan,2015-Dec,2015]
Microsoft MVP for
Client Development
[Jan,2014-Dec,2014]
Microsoft MVP for Client App Dev [Jan,2010-Dec,2013]
Recent Comments
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

記事検索