конпелируем под ARM VisualStudio 2012 RC

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by sn0w, 27 Jul 2012.

  1. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,031
    Likes Received:
    1,319
    Reputations:
    327
    короче в бете была возможность а вот в РЦ уже ее нет. решил разобраться.

    в Configuration Manager добавляем таргет на арм платформу, жмем - собрать и получаем ахтунг: "Compiling Desktop applications for the ARM platform is not supported"

    само собой, сообщение это выдает утилита из MSBuild, конкретно код находится в Microsoft.Build.CPPTasks.Common.v110.dll

    ковырять шарповский треш мне не захотелось, поскольку вспомнилось о том что в пуске появилась папка Microsoft Visual Studio 2012 а в ней - Visual Studio Tools в которой в свою очередь - VS2012 ARM Cross Tools Command Prompt
    что какбы символизировало.

    запустил я промпт, подкочевал к своему hello3.cpp
    и вбиваю:
    и на те. опять тоже самое. но было одно большое НО. ошибка вылетала, но уже изза директивы #error в crtdefs.h

    Code:
    /* Verify ARM Desktop SDK available */
    #if defined(_M_ARM) 
     #if _CRT_BUILD_DESKTOP_APP && !_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
      #error Compiling Desktop applications for the ARM platform is not supported.
     #endif
    #endif
    
    тащемта эту эррор я просто закомментил. и все получилось.

    Code:
    // hello3.cpp : Defines the entry point for the console application.
    //
    #include <windows.h>
    
    #pragma comment(lib, "kernel32")
    #pragma comment(lib, "user32")
    #pragma comment(linker, "/ENTRY:start")
    #pragma comment(linker, "/SUBSYSTEM:WINDOWS")
    
    
    int WINAPI start()
    {
    	MessageBox(0, "This program is compiled for ARM!", "Yo", MB_OK | MB_ICONINFORMATION);
    	ExitProcess(0);
    }
    на выходе теперь лежал свеженький ехешник.
    взял я иду, дабы удостовериться(хоть и конпилил с параметром листинга, но неважно) в полученном рез-те.

    и, вуаля:

    [​IMG]


    но самое интересное:

    то бишь бред и непонятки. есть рабочий инструмент, есть возможность добавления конфига под арм, а вот компилить запрещено.

    вообщем к чему нам запреты? если поправить вышеобозначенную дллку, или написать визард или вообще скрипт - то дело в шляпе.

    так что так. вот щабы затестить это на венде РТ...
     
    #1 sn0w, 27 Jul 2012
    Last edited: 27 Jul 2012