创建一个最小的 Hello World UWP 应用
Create a Minimal Hello World UWP app
我正在使用 Visual Studio 2017 创建一个简单的 C++/Cx 通用 Windows 平台应用程序。我需要从头开始,没有任何装饰。
当我创建一个新的 "blank" 项目时,我最终得到 2 个 XAML
文件(每个文件都有一个 .cpp
和一个 .h
文件链接)和一个完整的目录生成的代码。其中一些文件甚至是在第一次编译后生成的。这对我来说不合适,我希望有一个单一的 main()
函数,代码最少 运行 一个 Hello World 应用程序,没有自动生成的代码。
在其中一个生成的文件 (App.g.hpp
) 中,我找到了 main()
方法,但我没有找到在非生成文件中编写自己的方法的方法:
int __cdecl main(::Platform::Array<::Platform::String^>^ args)
{
(void)args; // Unused parameter
::Windows::UI::Xaml::Application::Start(ref new ::Windows::UI::Xaml::ApplicationInitializationCallback(
[](::Windows::UI::Xaml::ApplicationInitializationCallbackParams^ p) {
(void)p; // Unused parameter
auto app = ref new ::MinimalUWP::App();
}));
}
是否有可用于 true 空白 UWP 项目的模板?
我终于用这段代码自己解决了:
ref class UwpApp : public ::Windows::UI::Xaml::Application
{
protected:
virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override
{
// Use e->Arguments as main arguments
}
};
int __cdecl main(::Platform::Array<::Platform::String^>^ args)
{
::Windows::UI::Xaml::Application::Start(ref new ::Windows::UI::Xaml::ApplicationInitializationCallback(
[](::Windows::UI::Xaml::ApplicationInitializationCallbackParams^ p) {
auto app = ref new UwpApp();
}));
}
感谢@IInspectable,最后我坚持使用 C++/CX,它成功了!
我正在使用 Visual Studio 2017 创建一个简单的 C++/Cx 通用 Windows 平台应用程序。我需要从头开始,没有任何装饰。
当我创建一个新的 "blank" 项目时,我最终得到 2 个 XAML
文件(每个文件都有一个 .cpp
和一个 .h
文件链接)和一个完整的目录生成的代码。其中一些文件甚至是在第一次编译后生成的。这对我来说不合适,我希望有一个单一的 main()
函数,代码最少 运行 一个 Hello World 应用程序,没有自动生成的代码。
在其中一个生成的文件 (App.g.hpp
) 中,我找到了 main()
方法,但我没有找到在非生成文件中编写自己的方法的方法:
int __cdecl main(::Platform::Array<::Platform::String^>^ args)
{
(void)args; // Unused parameter
::Windows::UI::Xaml::Application::Start(ref new ::Windows::UI::Xaml::ApplicationInitializationCallback(
[](::Windows::UI::Xaml::ApplicationInitializationCallbackParams^ p) {
(void)p; // Unused parameter
auto app = ref new ::MinimalUWP::App();
}));
}
是否有可用于 true 空白 UWP 项目的模板?
我终于用这段代码自己解决了:
ref class UwpApp : public ::Windows::UI::Xaml::Application
{
protected:
virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override
{
// Use e->Arguments as main arguments
}
};
int __cdecl main(::Platform::Array<::Platform::String^>^ args)
{
::Windows::UI::Xaml::Application::Start(ref new ::Windows::UI::Xaml::ApplicationInitializationCallback(
[](::Windows::UI::Xaml::ApplicationInitializationCallbackParams^ p) {
auto app = ref new UwpApp();
}));
}
感谢@IInspectable,最后我坚持使用 C++/CX,它成功了!