How could I know if I'm developing a c++/cx or c++/WinRT UWP application?












3















I'm creating a c++ UWP application and I want this app to be c++/WinRT because I read that c++/cx is not supported anymore.

And this is how I created my application.

VS 2017 -> File -> New -> Project... -> Visual C++ -> Windows Universal -> Blank App (Universal Windows)


I'm sorry for this basic question but I couldn't find out if my app is a c++/WinRT or not.










share|improve this question




















  • 1





    Both C++/CX and C++/WinRT are supported. That said, some newer compiler features (like two-phase name lookup) are not compatible with the C++/CX extensions. The default C++ Blank App is using C++/CX which you can see because of the use of ref class.

    – Chuck Walbourn
    Nov 23 '18 at 18:08


















3















I'm creating a c++ UWP application and I want this app to be c++/WinRT because I read that c++/cx is not supported anymore.

And this is how I created my application.

VS 2017 -> File -> New -> Project... -> Visual C++ -> Windows Universal -> Blank App (Universal Windows)


I'm sorry for this basic question but I couldn't find out if my app is a c++/WinRT or not.










share|improve this question




















  • 1





    Both C++/CX and C++/WinRT are supported. That said, some newer compiler features (like two-phase name lookup) are not compatible with the C++/CX extensions. The default C++ Blank App is using C++/CX which you can see because of the use of ref class.

    – Chuck Walbourn
    Nov 23 '18 at 18:08
















3












3








3








I'm creating a c++ UWP application and I want this app to be c++/WinRT because I read that c++/cx is not supported anymore.

And this is how I created my application.

VS 2017 -> File -> New -> Project... -> Visual C++ -> Windows Universal -> Blank App (Universal Windows)


I'm sorry for this basic question but I couldn't find out if my app is a c++/WinRT or not.










share|improve this question
















I'm creating a c++ UWP application and I want this app to be c++/WinRT because I read that c++/cx is not supported anymore.

And this is how I created my application.

VS 2017 -> File -> New -> Project... -> Visual C++ -> Windows Universal -> Blank App (Universal Windows)


I'm sorry for this basic question but I couldn't find out if my app is a c++/WinRT or not.







c++ uwp c++-cx c++-winrt






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 '18 at 7:00









IInspectable

26k54396




26k54396










asked Nov 22 '18 at 6:43









NtkNtk

505




505








  • 1





    Both C++/CX and C++/WinRT are supported. That said, some newer compiler features (like two-phase name lookup) are not compatible with the C++/CX extensions. The default C++ Blank App is using C++/CX which you can see because of the use of ref class.

    – Chuck Walbourn
    Nov 23 '18 at 18:08
















  • 1





    Both C++/CX and C++/WinRT are supported. That said, some newer compiler features (like two-phase name lookup) are not compatible with the C++/CX extensions. The default C++ Blank App is using C++/CX which you can see because of the use of ref class.

    – Chuck Walbourn
    Nov 23 '18 at 18:08










1




1





Both C++/CX and C++/WinRT are supported. That said, some newer compiler features (like two-phase name lookup) are not compatible with the C++/CX extensions. The default C++ Blank App is using C++/CX which you can see because of the use of ref class.

– Chuck Walbourn
Nov 23 '18 at 18:08







Both C++/CX and C++/WinRT are supported. That said, some newer compiler features (like two-phase name lookup) are not compatible with the C++/CX extensions. The default C++ Blank App is using C++/CX which you can see because of the use of ref class.

– Chuck Walbourn
Nov 23 '18 at 18:08














1 Answer
1






active

oldest

votes


















2














C++/CX and C++/WinRT do not generate different application types. Even if C++/CX weren't supported anymore (it still is), an application compiled using C++/CX would still continue to run. C++/CX is purely a language-level compiler setting, that generates native code just like C++/WinRT.



You opt in to C++/CX by setting the /ZW (Windows Runtime Compilation) compiler option. If that compiler option isn't present, you aren't using C++/CX. The Blank App (C++/WinRT) project template (available after installing the C++/WinRT Visual Studio extension) doesn't set the /ZW compiler option. The Blank App (Windows Universal), on the other hand, does set the /ZW compiler option.






share|improve this answer





















  • 2





    Most of the UWP templates that come with Visual Studio are set up to use the C++/CX extensions (i.e. /ZW). You can install C++/WinRT project and item templates from Visual Studio Marketplace. I also have C++/WinRT variants of basic Direct3D projects on GitHub.

    – Chuck Walbourn
    Nov 23 '18 at 18:04








  • 1





    @chu: I didn't realize (or forgot), that there are Universal Windows project templates for C++/CX. Updated the answer to include information on both Blank App project templates.

    – IInspectable
    Nov 24 '18 at 13:05











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53425228%2fhow-could-i-know-if-im-developing-a-c-cx-or-c-winrt-uwp-application%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














C++/CX and C++/WinRT do not generate different application types. Even if C++/CX weren't supported anymore (it still is), an application compiled using C++/CX would still continue to run. C++/CX is purely a language-level compiler setting, that generates native code just like C++/WinRT.



You opt in to C++/CX by setting the /ZW (Windows Runtime Compilation) compiler option. If that compiler option isn't present, you aren't using C++/CX. The Blank App (C++/WinRT) project template (available after installing the C++/WinRT Visual Studio extension) doesn't set the /ZW compiler option. The Blank App (Windows Universal), on the other hand, does set the /ZW compiler option.






share|improve this answer





















  • 2





    Most of the UWP templates that come with Visual Studio are set up to use the C++/CX extensions (i.e. /ZW). You can install C++/WinRT project and item templates from Visual Studio Marketplace. I also have C++/WinRT variants of basic Direct3D projects on GitHub.

    – Chuck Walbourn
    Nov 23 '18 at 18:04








  • 1





    @chu: I didn't realize (or forgot), that there are Universal Windows project templates for C++/CX. Updated the answer to include information on both Blank App project templates.

    – IInspectable
    Nov 24 '18 at 13:05
















2














C++/CX and C++/WinRT do not generate different application types. Even if C++/CX weren't supported anymore (it still is), an application compiled using C++/CX would still continue to run. C++/CX is purely a language-level compiler setting, that generates native code just like C++/WinRT.



You opt in to C++/CX by setting the /ZW (Windows Runtime Compilation) compiler option. If that compiler option isn't present, you aren't using C++/CX. The Blank App (C++/WinRT) project template (available after installing the C++/WinRT Visual Studio extension) doesn't set the /ZW compiler option. The Blank App (Windows Universal), on the other hand, does set the /ZW compiler option.






share|improve this answer





















  • 2





    Most of the UWP templates that come with Visual Studio are set up to use the C++/CX extensions (i.e. /ZW). You can install C++/WinRT project and item templates from Visual Studio Marketplace. I also have C++/WinRT variants of basic Direct3D projects on GitHub.

    – Chuck Walbourn
    Nov 23 '18 at 18:04








  • 1





    @chu: I didn't realize (or forgot), that there are Universal Windows project templates for C++/CX. Updated the answer to include information on both Blank App project templates.

    – IInspectable
    Nov 24 '18 at 13:05














2












2








2







C++/CX and C++/WinRT do not generate different application types. Even if C++/CX weren't supported anymore (it still is), an application compiled using C++/CX would still continue to run. C++/CX is purely a language-level compiler setting, that generates native code just like C++/WinRT.



You opt in to C++/CX by setting the /ZW (Windows Runtime Compilation) compiler option. If that compiler option isn't present, you aren't using C++/CX. The Blank App (C++/WinRT) project template (available after installing the C++/WinRT Visual Studio extension) doesn't set the /ZW compiler option. The Blank App (Windows Universal), on the other hand, does set the /ZW compiler option.






share|improve this answer















C++/CX and C++/WinRT do not generate different application types. Even if C++/CX weren't supported anymore (it still is), an application compiled using C++/CX would still continue to run. C++/CX is purely a language-level compiler setting, that generates native code just like C++/WinRT.



You opt in to C++/CX by setting the /ZW (Windows Runtime Compilation) compiler option. If that compiler option isn't present, you aren't using C++/CX. The Blank App (C++/WinRT) project template (available after installing the C++/WinRT Visual Studio extension) doesn't set the /ZW compiler option. The Blank App (Windows Universal), on the other hand, does set the /ZW compiler option.







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 24 '18 at 13:10

























answered Nov 22 '18 at 7:00









IInspectableIInspectable

26k54396




26k54396








  • 2





    Most of the UWP templates that come with Visual Studio are set up to use the C++/CX extensions (i.e. /ZW). You can install C++/WinRT project and item templates from Visual Studio Marketplace. I also have C++/WinRT variants of basic Direct3D projects on GitHub.

    – Chuck Walbourn
    Nov 23 '18 at 18:04








  • 1





    @chu: I didn't realize (or forgot), that there are Universal Windows project templates for C++/CX. Updated the answer to include information on both Blank App project templates.

    – IInspectable
    Nov 24 '18 at 13:05














  • 2





    Most of the UWP templates that come with Visual Studio are set up to use the C++/CX extensions (i.e. /ZW). You can install C++/WinRT project and item templates from Visual Studio Marketplace. I also have C++/WinRT variants of basic Direct3D projects on GitHub.

    – Chuck Walbourn
    Nov 23 '18 at 18:04








  • 1





    @chu: I didn't realize (or forgot), that there are Universal Windows project templates for C++/CX. Updated the answer to include information on both Blank App project templates.

    – IInspectable
    Nov 24 '18 at 13:05








2




2





Most of the UWP templates that come with Visual Studio are set up to use the C++/CX extensions (i.e. /ZW). You can install C++/WinRT project and item templates from Visual Studio Marketplace. I also have C++/WinRT variants of basic Direct3D projects on GitHub.

– Chuck Walbourn
Nov 23 '18 at 18:04







Most of the UWP templates that come with Visual Studio are set up to use the C++/CX extensions (i.e. /ZW). You can install C++/WinRT project and item templates from Visual Studio Marketplace. I also have C++/WinRT variants of basic Direct3D projects on GitHub.

– Chuck Walbourn
Nov 23 '18 at 18:04






1




1





@chu: I didn't realize (or forgot), that there are Universal Windows project templates for C++/CX. Updated the answer to include information on both Blank App project templates.

– IInspectable
Nov 24 '18 at 13:05





@chu: I didn't realize (or forgot), that there are Universal Windows project templates for C++/CX. Updated the answer to include information on both Blank App project templates.

– IInspectable
Nov 24 '18 at 13:05


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53425228%2fhow-could-i-know-if-im-developing-a-c-cx-or-c-winrt-uwp-application%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Costa Masnaga

Fotorealismo

Sidney Franklin