创建UWP cppwinrt SolidColorBrush的生成错误

时间:2018-10-27 13:06:02

标签: uwp c++-winrt

为文本块创建实心画笔(cppwinrt)时,使用以下命令时会出错:

void MainPage::myStyle(Controls::TextBlock & block)
{   
    block.FontSize(72.0);
    block.Foreground(Media::SolidColorBrush(Windows::UI::Colors::Orange()));
    block.VerticalAlignment(VerticalAlignment::Center);     
}   
  

错误:LNK2019无法解析的外部符号“公共:__thiscall winrt :: Windows :: UI :: Xaml :: Media :: SolidColorBrush :: SolidColorBrush(struct winrt :: Windows :: UI :: Color const&)”

当我拿出固态笔刷时,错误就消失了,而我也尝试了其他版本的固态笔刷,但都出现了同样的错误。

1 个答案:

答案 0 :(得分:3)

您需要

#include <winrt/Windows.UI.Xaml.Media.h>

使用命名空间winrt::Windows::UI::Xaml::Media中的类型。在Get started with C++/WinRT下有记录:

  

每当要使用Windows名称空间中的类型时,请包括相应的C ++ / WinRT Windows名称空间头文件,如图所示。对应的标头是与类型的名称空间同名的标头。例如,要将C ++ / WinRT投影用于Windows::Foundation::Collections::PropertySet运行时类#include <winrt/Windows.Foundation.Collections.h>