locked
when Migrating Release Preview apps to Windows 8 RTM the compiler generate internal compiler error

    Question

  • when I update my Windows 8 Release Preview C++ app to RTM , I got this compiler error ,and I do not know how to fix it.

    followed are my VS2012 RTM error messages:

    1>  XamlTypeInfo.Impl.g.cpp
    1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xmemory0(627): fatal error C1001: An internal error has occurred in the compiler.
    1>  (compiler file 'msc1.cpp', line 1443)
    1>   To work around this problem, try simplifying or changing the program near the locations listed above.
    1>  Please choose the Technical Support command on the Visual C++
    1>   Help menu, or open the Technical Support help file for more information (App.xaml.cpp)
    1>  INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe'
    1>      Please choose the Technical Support command on the Visual C++
    1>      Help menu, or open the Technical Support help file for more information
    1>cl : Command line error D8040: error creating or communicating with child process

    btw, I follow the http://social.msdn.microsoft.com/Forums/zh-CN/winappswithnativecode/thread/e7aaab57-450f-402b-bd2f-a0dd57d24c73 steps to change my code already.

    Thursday, August 30, 2012 8:55 AM

All replies

  • Can you open a Connect issue and attach the project you're seeing the ICE in?

    Thx,
    Marian Luparu
    Visual C++

    Thursday, August 30, 2012 5:51 PM
  • Hi,Marian, thanks for the reply.I tried again and again,including as recreate a new blank windows store xaml app, add some codes clean,rebuild...etc, finally, I found that, it's my virtual functions in a sealed ref class caused that error, and the inheritance hierarchy of my class is like this:

     public ref class Base : public Windows::UI::Xaml::DependencyObject
     {
     internal:
      virtual void Render();
      Base();
     protected private:
      ~Base();
     };

     public ref class Derived sealed : public Base
     {
     public:
      Derived();
      virtual void Render() override;
      virtual ~Derived();
      void iniSurface();
     };

    the solution is created like this:

    Blank XAML APP1 project

    {

           all generated is fine, then add the reference from WindowsRuntimeComponent1 project, and in App::OnLaunched call the derived class method.

    WindowsRuntimeComponent1 project

    {

         include the base and derived class

    }

    if I use the non-virtual method (ie. iniSurface())outside in the App::OnLaunched everything is ok, but when I use the Render() method then I will get ICE error.and now, I am not sure the inheritance hierarchy of my class is correct.

    I can upload my test project to you,but I don't know how , and what do you mean of opening a Connect issue ?

    thx.


    • Edited by ahzhe Friday, August 31, 2012 3:18 AM
    Friday, August 31, 2012 3:12 AM
  • You can submit this suggestion or feedback to Microsoft Connect feedback Center in formal format. Microsoft engineers will evaluate them seriously and report to Product Group.
    http://connect.microsoft.com/VisualStudio/

    In your feedback, you can quote the URL to this thread and post the error message in that page, so that the whole conversation can be available. Every feedback submitted will be evaluated carefully by our engineers. They will let you know their comments further through that portal. It would be great if you can also paste the link to the submitted feedback here, so that other community members can see it as well.


    Best regards,
    Jesse


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us

    Friday, August 31, 2012 5:55 AM
  • HI,jesse, thx for the guide.

    I have submit this issue to  Microsoft Connect feedback Center and the link is here :

    https://connect.microsoft.com/VisualStudio/feedback/details/760591/when-migrating-release-preview-apps-to-windows-8-rtm-the-compiler-generate-internal-compiler-error


    • Edited by ahzhe Friday, August 31, 2012 10:39 AM
    Friday, August 31, 2012 10:37 AM