我正在使用Visual Studio 2017创建一个简单的C ++ / Cx通用Windows平台应用程序。我需要从零开始,没有任何服饰。
当我创建一个新的“空白”项目时,我最终得到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();
}));
}
是否有可用于真实空白UWP项目的模板?
答案 0 :(得分:0)
我终于使用这段代码解决了这个问题:
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并且它有效!