Если вы задаете полное имя пути к MATLAB® файл на mcc
командная строка, компилятор
Разбивает полное имя на соответствующие путь и имена файлов (< path
> и < file
>).
Заменяет полное имя пути в списке аргументов на "-I <path> <file>
”.
Для примера:
mcc -m /home/user/myfile.m
будет рассматриваться как
mcc -m -I /home/user myfile.m
В редких ситуациях такое поведение может привести к потенциальному источнику путаницы. Например, предположим, что у вас есть два разных файла MATLAB с именами myfile.m
и они проживают в /home/user/dir1
и /home/user/dir2
. Команда
mcc -m -I /home/user/dir1 /home/user/dir2/myfile.m
было бы эквивалентно
mcc -m -I /home/user/dir1 -I /home/user/dir2 myfile.m
Компилятор находит myfile.m
в dir1
и скомпилирует его вместо того, в dir2
из-за поведения -I
опция. Если вы обеспокоены тем, что это может произойти, можно задать -v
Опцию а затем посмотрим, какой файл MATLAB анализирует компилятор. The -v
опция выводит полное имя пути к файлу MATLAB на фазе анализа зависимостей.
Примечание
Компилятор выдает предупреждение (specified_file_mismatch
), если файл с полным именем пути включен в командную строку, и компилятор находит его где-то еще.
Пакеты обеспечивают удобный способ группировать наборы опций компилятора и вспоминать их по мере необходимости. Синтаксис опции пакета:
-B <bundle>[:<a1>,<a2>,...,<an>]
где bundle является предопределенной строкой, такой как cpplib
или csharedlib
или имя файла, содержащего набор mcc
опции командной строки, аргументы, имена файлов и/или другие -B
опции.
Пакет может включать параметры замены для опций компилятора, которые принимают имена и номера версий. Например, пакет для разделяемых библиотек на С, csharedlib
, состоит из:
-W lib:%1% -T link:lib
Чтобы вызвать компилятор для создания общей библиотеки на C mysharedlib
использование:
mcc -B csharedlib:mysharedlib myfile.m myfile2.m
В целом каждый %n%
в пучке будет заменена соответствующая опция, заданная в пучке. Использование %%
для включения %
символ. Это ошибка, чтобы передать слишком много или слишком мало опции в пакет.
Примечание
Можно использовать -B
опция с заменяющим выражением как в DOS или UNIX® приглашение. Если передано более одного параметра, необходимо заключить выражение, которое следует за -B
в одинарных кавычках. Для примера,
>>mcc -B csharedlib:libtimefun weekday data tic calendar toc
может использоваться как есть в подсказке MATLAB, поскольку libtimefun
- единственный передаваемый параметр. Если бы в примере было два или более параметра, то кавычки были бы необходимы как в
>>mcc -B 'cexcel:component,class,1.0' ... weekday data tic calendar toc
Файл пакета | Создает | Содержание |
---|---|---|
cpplib | Библиотека C++ | -W cplib: |
csharedlib | Библиотека на C | -W lib: |
ccom | Компонент | -W com: |
cexcel | Надстройка Excel | -W excel: |
cjava | Java® пакет | -W java: |
dotnet | Сборка .NET |
|