Как запустить исполняемый файл
Перейти к содержимому

Как запустить исполняемый файл

  • автор:

MSB6003: не удалось запустить исполняемый файл executable указанной задачи.

Эта ошибка указывает, что не удалось выполнить исполняемый файл, который был частью процесса сборки. Обычно отображается дополнительный текст ошибки с более подробными сведениями о причине проблемы.

Если вам нужны дополнительные сведения, чтобы диагностировать ошибку, сначала включите журнал диагностики (используйте параметр командной строки -verbosity:diag ), а затем проверьте в файле журнала MSBuild полные выходные данные диагностики. Для больших проектов с более крупными журналами выходных данных рассмотрите возможность использования двоичного журнала (параметр командной строки -bl ) и структурированного средства просмотра журналов MSBuild для упрощения просмотра выходных данных.

Кроме того, можно задать для переменной среды MSBuildDebugEngine значение 1, чтобы получить все возможные журналы. См. статью Сборка MSBuild для .NET Framework — журналы.

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

Далее приводятся примеры ситуаций, в которых возникает эта ошибка.

Не удалось найти файл или папку

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

Файл уже используется

Если на этом же компьютере запущена другая программа, которая блокирует файл, необходимый для сборки, может возникать эта ошибка. Завершите работу других процессов, которые могут использовать те же файлы.

Слишком много временных файлов

Если вы используете MSBuild на сервере сборки и временные файлы никогда не удалялись, в итоге может быть достигнуто максимально допустимое количество файлов в папке. Это ограничение зависит от файловой системы. Для файловой системы FAT32 это количество составляет 65 534. Для файловой системы NTFS — 4 294 967 295. Обновление с FAT32 до NTFS может помочь предотвратить эту ошибку. В системе Windows папка временных файлов хранится в переменной среды TMP или TEMP. В системе Mac или Linux место хранения временных файлов указывает переменная среды TMPDIR. Проверьте папку TEMP и при необходимости очистите ее. Также рассмотрите возможность добавления запланированного задания для очистки временной папки или добавления в процесс сборки действий для удаления временных файлов, созданных во время сборки.

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

Слишком длинный путь

Если эта ошибка возникает в Windows, рекомендуется вместо использования более коротких путей сначала обновить параметр реестра, чтобы включить длинные пути; см. раздел Ограничение максимальной длины пути.

Превращение файлов в исполняемые в команде «Терминал» на Mac

Чтобы можно было запустить shell-скрипт, он должен быть исполняемым файлом. Используя инструмент chmod, можно указать, что файл является исполняемым (то есть его содержимое может быть запущено как shell-скрипт).

  1. В приложении «Терминал» на Mac можно ввести команду cd для перехода к каталогу, содержащему файл, который Вы хотите сделать исполняемым. Например:

% cd YourScriptDirectory

% chmod 755 YourScriptName.sh

Сделав файл shell-скрипта исполняемым, Вы можете его запускать, указав путь к файлу. Например:

% ~/Documents/Dev/YourScriptName.sh

% cd ~/Documents/Dev/ % ./YourScriptName.sh

Как запустить файл из командной строки?

Как запустить файл из командной строки? Когда из Nautilus’а запускаю, то просто два раза щелкаю по нему мышкой, а как из командной строки файл запустить?

Можно выполнить (запустить) файл в командной строке, набрав команду:

sh название-файла

Также можно просто указать имя файла (если он доступен для запуска) и нажать Enter:

./filetorun

Обратите внимание, что перед файлом нужно указать путь до него или, если вы уже находитесь в директории, в которой лежит файл, то перед именем файла нужно поставить «./». Это указывает на то, что вы запускаете файл именно из текущей директории.

Войдите, чтобы ставить лайки мне нравится

войдите, чтобы ставить лайки

Запустите исполняемый файл для различных различных значений параметров, не перекомпилировав код

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

В этом примере вы создаете исполняемый файл, который представляет переходной процесс линейной системы с ПИД-регулятором. В исполняемом файле параметры ПИДа, пропорциональная составляющая и интегральная составляющая, заданы как различные параметры, которые имеют несколько значений, чтобы угодить нескольким требованиям. Каждое значение сопоставлено с различным выражением управления. Когда вы запускаете исполняемый файл, Simulink® оценивает выражения условия. На основе выражения условия, которое оценивает к true , все значения параметров усиления, сопоставленные с тем выражением условия, становятся активными, и исполняемый файл запускается только для того набора значений усиления. Можно затем изменить значение различной контрольной переменной, чтобы запустить исполняемый файл для различного набора значений параметров усиления. Вы не обязаны перекомпилировать код, чтобы создать исполняемый файл для различного набора значений параметров усиления.

Обзор различных параметров

Различные параметры могут иметь несколько значений. Каждое значение различного параметра сопоставлено с различным выражением условия. В процессе моделирования значение различного параметра сопоставило с условием, которое оценивает к true активное значение того параметра. Значение сопоставило с условием, которое оценивает к false неактивное значение того различного параметра. Для получения дополнительной информации смотрите Параметры Варианта Использования к Параметрам блоков Повторного использования с Различными Значениями.

Изменчивость и представление различных параметров в сгенерированном коде зависят от ActivationTime и Спецификации propery, вы задаете. Время активации определяет, включать ли только активный выбор или и активный и неактивный выбор в коде. Класс памяти определяет, представлять ли параметры как встроенные или настраиваемые переменные. Для получения дополнительной информации см. Опции, чтобы Представлять Различные Параметры в Сгенерированном коде (Embedded Coder) .

Если вы задаете время активации как startup , сгенерированный код включает и активные и неактивные значения различных параметров. Значения заключены в регулярный if условия модели инициализируют функцию кода. Когда вы запускаете исполняемый файл, который создается из кода, if условия условно выполняются в начале выполнения. На основе условия, которое оценивает к true , исполняемый файл определяет активные значения различных параметров. Если вы включаете все значения в исполняемый файл, то вы не должны перекомпилировать код каждый раз, когда вы изменяете значение различной контрольной переменной. Вы создаете исполняемый файл только однажды. Можно затем изменить значение различной контрольной переменной и затем запустить исполняемый файл для различного набора активных значений.

Необходимое условие

Прежде чем вы запустите этот пример, мы рекомендуем, чтобы вы завершили Опции, чтобы Представлять Различные Параметры в Сгенерированном коде (Embedded Coder) .

Исследуйте модель

mdl = 'slexVariantParametersStartup'; open_system(mdl)

Блок PID Controller имеет два различных параметра, Пропорциональные (P) и Интеграл (I). Параметры заданы как Simulink.VariantVariable объекты Kp и Ki . Kp и Ki имейте несколько значений, и сопоставлены с Simulink.VariantControl объект VCtrl , как задано в slexVariantParameterGain.m файл. В этом файле, время активации VCtrl задан как startup . Так, исполняемый файл, который вы создаете из этой модели, определяет активное значение Kp и Ki в начале его выполнения путем чтения значения VCtrl от slexVariantParametersStartup_VCtrl.txt файл. С тех пор, значение VCtrl задан как 1 , исполняемый файл вычисляет переходной процесс для значений, сопоставленных с VCtrl == 1 . Вычислить переходной процесс для различного значения VCtrl , измените значение VCtrl в slexVariantParametersStartup_VCtrl.txt файл и запуск исполняемый файл снова.

Создайте и рассмотрите сгенерированный код с регулярным if Условия и utAssert Функция

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

1. На панели инструментов Simulink, на вкладке Apps, нажимают Embedded Coder. На вкладке C Code нажмите Build. Для получения дополнительной информации смотрите, Генерируют Код Используя Embedded Coder® (Embedded Coder) .

Генератор кода создает исполняемый файл, генерирует Отчет Генерации кода и помещает исполняемый файл в рабочую папку. На Windows® исполняемым файлом является slexVariantParametersStartup.exe . На Linux® исполняемым файлом является slexVariantParameterStartup . В качестве альтернативы введите эту команду в Командном окне MATLAB®, чтобы создать исполняемый файл.

slbuild(mdl);
### Starting build procedure for: slexVariantParametersStartup ### Generating code and artifacts to 'Model specific' folder structure ### Generating code into build folder: /tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw ### Invoking Target Language Compiler on slexVariantParametersStartup.rtw ### Using System Target File: /mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert/ert.tlc ### Loading TLC function libraries . ### Generating TLC interface API for custom data . ### Initial pass through model to cache user defined code . ### Caching model source code . ### Writing header file slexVariantParametersStartup_types.h ### Writing header file slexVariantParametersStartup.h ### Writing header file rtwtypes.h ### Writing header file builtin_typeid_types.h ### Writing header file multiword_types.h . ### Writing source file slexVariantParametersStartup.c ### Writing header file slexVariantParametersStartup_private.h ### Writing header file rt_assert.h ### Writing header file rt_nonfinite.h ### Writing source file rt_nonfinite.c . ### Writing header file rtGetInf.h ### Writing source file rtGetInf.c ### Writing header file rtGetNaN.h ### Writing source file rtGetNaN.c ### Writing source file ert_main.c . ### TLC code generation complete. .### Saving binary information cache. ### Using toolchain: GNU gcc/g++ | gmake (64-bit Linux) ### Creating '/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw/slexVariantParametersStartup.mk' . ### Building 'slexVariantParametersStartup': "/mathworks/devel/bat/BR2021bd/build/matlab/bin/glnxa64/gmake" -f slexVariantParametersStartup.mk all gmake[5]: Entering directory `/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw' gcc -c -fwrapv -fPIC -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=1 -DMODEL=slexVariantParametersStartup -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw -I/mathworks/devel/bat/BR2021bd/build/matlab/extern/include -I/mathworks/devel/bat/BR2021bd/build/matlab/simulink/include -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/ext_mode/common -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert -o "rt_logging.o" "/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/rt_logging.c" gcc -c -fwrapv -fPIC -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=1 -DMODEL=slexVariantParametersStartup -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw -I/mathworks/devel/bat/BR2021bd/build/matlab/extern/include -I/mathworks/devel/bat/BR2021bd/build/matlab/simulink/include -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/ext_mode/common -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert -o "rtGetInf.o" "/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw/rtGetInf.c" gcc -c -fwrapv -fPIC -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=1 -DMODEL=slexVariantParametersStartup -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw -I/mathworks/devel/bat/BR2021bd/build/matlab/extern/include -I/mathworks/devel/bat/BR2021bd/build/matlab/simulink/include -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/ext_mode/common -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert -o "rtGetNaN.o" "/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw/rtGetNaN.c" gcc -c -fwrapv -fPIC -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=1 -DMODEL=slexVariantParametersStartup -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw -I/mathworks/devel/bat/BR2021bd/build/matlab/extern/include -I/mathworks/devel/bat/BR2021bd/build/matlab/simulink/include -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/ext_mode/common -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert -o "rt_nonfinite.o" "/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw/rt_nonfinite.c" gcc -c -fwrapv -fPIC -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=1 -DMODEL=slexVariantParametersStartup -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw -I/mathworks/devel/bat/BR2021bd/build/matlab/extern/include -I/mathworks/devel/bat/BR2021bd/build/matlab/simulink/include -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/ext_mode/common -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert -o "slexVariantParametersStartup.o" "/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw/slexVariantParametersStartup.c" gcc -c -fwrapv -fPIC -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=1 -DMODEL=slexVariantParametersStartup -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw -I/mathworks/devel/bat/BR2021bd/build/matlab/extern/include -I/mathworks/devel/bat/BR2021bd/build/matlab/simulink/include -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/ext_mode/common -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert -o "slexVariantParametersStartup_VCtrl.o" "/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_VCtrl.c" gcc -c -fwrapv -fPIC -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=1 -DMODEL=slexVariantParametersStartup -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195 -I/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw -I/mathworks/devel/bat/BR2021bd/build/matlab/extern/include -I/mathworks/devel/bat/BR2021bd/build/matlab/simulink/include -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/src/ext_mode/common -I/mathworks/devel/bat/BR2021bd/build/matlab/rtw/c/ert -o "ert_main.o" "/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw/ert_main.c" ### Creating standalone executable ../slexVariantParametersStartup . g++ -o ../slexVariantParametersStartup rt_logging.o rtGetInf.o rtGetNaN.o rt_nonfinite.o slexVariantParametersStartup.o slexVariantParametersStartup_VCtrl.o ert_main.o ### Created: ../slexVariantParametersStartup ### Successfully generated all binary outputs. gmake[5]: Nothing to be done for `all'. gmake[5]: Leaving directory `/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup_ert_rtw' ### Successful completion of build procedure for: slexVariantParametersStartup ### Simulink cache artifacts for 'slexVariantParametersStartup' were created in '/tmp/BR2021bd_1724986_151598/publish_examples2/tpe10c481c/ex18167195/slexVariantParametersStartup.slxc'. Build Summary Top model targets built: Model Action Rebuild Reason ============================================================================================================= slexVariantParametersStartup Code generated and compiled Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 25.973s

2. На вкладке C Code выберите Open Report.

3. Выберите slexVariantParametersStartup.c файл. В этом файле модель инициализирует функцию, включает:

a. Символьные имена для всех значений Kp и Ki заключенный в регулярный if условия. Они if условия оценены, когда вы запускаете исполняемый файл.

if (get_VCtrl() == 1) < Ki = 4.5; Kp = 0.15; >else if (get_VCtrl() == 2) < Ki = 4.0; Kp = 0.5; >else if (get_VCtrl() == 3) < Ki = 3.5; Kp = 0.75; >else if (get_VCtrl() == 4)

b. utAssert функция, чтобы убедиться при наименьшем количестве одного различного условия оценивает к true при выполнении исполняемого файла.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *