Если указать полный путь к файлу 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 анализирует компилятор. -v печатает полное имя пути к файлу MATLAB на этапе анализа зависимостей.
Примечание
Компилятор выдает предупреждение (specified_file_mismatch), если файл с полным именем пути включен в командную строку и компилятор находит его в другом месте.
Пакеты обеспечивают удобный способ группирования наборов параметров компилятора и их повторного использования по мере необходимости. Синтаксис опции пакета:
-B <bundle>[:<a1>,<a2>,...,<an>]
где bundle является либо предопределенной строкой, например cpplib или csharedlib или имя файла, содержащего набор mcc параметры командной строки, аргументы, имена файлов и/или другие -B варианты.
Пакет может включать параметры замены для параметров компилятора, которые принимают имена и номера версий. Например, пакет для общих библиотек C, 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 cpplib: |
csharedlib | Библиотека C | -W lib: |
ccom | COM-компонент | -W com: |
cexcel | Надстройка Excel | -W excel: |
cjava | Пакет Java ® | -W java: |
dotnet | Сборка .NET |
|