Требования для создания проекта от систем сборки

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

Требования компилятора

  • Ваш компилятор должен быть назван локально.

    Если вы используете кэш компилятора, такой как ccache или распределенная система сборки, такая как distmake, программное обеспечение не может проследить вашу сборку. Необходимо деактивировать их.

  • Ваш компилятор должен выполнить чистую сборку.

    Если ваш компилятор выполняет только инкрементную сборку, используйте подходящие варианты, чтобы создать все ваши исходные файлы. Например, если вы используете gmake, добавьте -B или-W makefileName опция, чтобы обеспечить чистую сборку. Для списка опций, позволенных с GNU® make, смотрите делают опции.

  • Ваша настройка компилятора должна быть доступна для Polyspace®. Компиляторы, в настоящее время поддержанные, включают следующее:

    • рука Keil

    • Лязг

    • Ветер River® Diab

    • GNU C/C++

    • IAR встроенные инструментальные средства

    • Green Hills®

    • NXP CodeWarrior®

    • Renesas®

    • Altium® Tasking

    • Техас Instruments™

    • tcc - Крошечный компилятор C

    • Microsoft® Visual C ++®

    Если ваша настройка компилятора не доступна для Polyspace:

  • Если вы создаете свой код в Cygwin™, необходимо использовать версию 2.x Cygwin для создания проекта Polyspace от системы сборки (например, версию 2.10 Cygwin).

  • С ОПРЕДЕЛЯЮЩИМ ЗАДАЧУ компилятором, если вы используете альтернативу sfr файл с дополнительным .asfr, Polyspace не может смочь определить местоположение вашего файла. Если вы сталкиваетесь с ошибкой, явным образом #include ваш .asfr файл в предварительно обработанном коде с помощью опции Include (-include).

    Как правило, вы используете оператор #include __SFRFILE__(__CPU__) наряду с параметром компилятора --alternative-sfr-file задавать альтернативу sfr файл. Путем к файлу обычно является Tasking_C166_INSTALL_DIR\include\sfr\regCPUNAME.asfr. Например, если ваш ОПРЕДЕЛЯЮЩИЙ ЗАДАЧУ компилятор установлен в C:\Program Files\Tasking\C166-VX_v4.0r1\ и вы используете связанный с центральным процессором флаг -Cxc2287m_104f или --cpu=xc2287m_104f, путем является C:\Program Files\Tasking\C166-VX_v4.0r1\include\sfr\regxc2287m.asfr.

Создайте требования команды

  • Ваша команда сборки должна выполнение до завершения без любого взаимодействия с пользователем.

  • В Linux® только должен использоваться интерпретатор UNIX® (sh) команды. Если ваше использование сборки усовершенствовало команды, такие как команды, поддержанные только ударом, tcsh или zsh, Polyspace не может проследить вашу сборку.

    В Windows® только должны использоваться команды DOS. Если ваше использование сборки усовершенствовало команды, такие как команды, поддержанные только PowerShell или Cygwin, Polyspace не может проследить вашу сборку. Чтобы видеть, поддерживает ли Polyspace вашу команду сборки, запустите команду от cmd.exe в Windows. Для получения дополнительной информации смотрите Проверку если Скрипты Сборки Поддержек Polyspace.

  • Если вы пользуетесь статически соединенными библиотеками, Polyspace не может проследить вашу сборку. В Linux можно установить полный пакет Основы стандарта Linux (LSB), чтобы позволить динамическое подключение. Например, в системах Debian®, установите LSB с командой apt-get install lsb.

  • Ваша команда сборки не должна использовать псевдонимы.

    alias команда используется в Linux, чтобы создать альтернативное название для команд. Если ваша команда сборки использует те альтернативные названия, Polyspace не может распознать их.

  • Ваш процесс сборки не должен использовать LD_PRELOAD механизм.

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

    Если ваша сборка использует sudo изменить полномочия пользователя или ssh чтобы удаленно войти в систему другой машины, Polyspace не может проследить вашу сборку.

  • Если ваша команда сборки использует перенаправление с > или | символ, перенаправление происходит после того, как Polyspace прослеживает команду. Поэтому Polyspace не обрабатывает перенаправление.

    Например, если ваша команда происходит как

    command1 | command2
    И вы входите
    polyspace-configure command1 | command2
    При трассировке сборки Polyspace прослеживает первую команду только.

  • Если функция Защиты целостности системы (SIP) активна на операционной системе macOS El Capitan (10.11) или более поздняя macOS версия, Polyspace не может проследить вашу команду сборки. Прежде, чем проследить вашу команду сборки, отключите опцию SIP. Можно повторно включить эту функцию после трассировки команды сборки.

  • Если ваш компьютер в спящем режиме во время процесса сборки, Polyspace не может смочь проследить вашу сборку.

Примечание

Ваши переменные окружения сохраняются, когда Polyspace прослеживает вашу команду сборки.

Смотрите также

Похожие темы