主要内容

clibgen.buildInterface.

没有定义文件创建C ++库的接口

描述

clibgen.buildInterface(InterfacegenerationFiles.,'图书馆',图书馆文件创造一个matlab.®与C ++库的接口定义InterfacegenerationFiles.图书馆文件

笔记

任何类构造函数,方法,数据成员以及库中无法自动定义的库中的函数都被删除。要包含缺少功能,请使用两步构建工作流程,clibgen.generatelibrarydefinition.建造功能。

接口文件的名称是libname.界面,具有特定于平台的文件扩展名。默认情况下,libname.是指定的文件的名称InterfacegenerationFiles.

您需要一个MATLAB支持的C ++金宝app编译器。您必须使用用于构建C ++库的相同编译器构建接口。

clibgen.buildInterface(InterfacegenerationFiles.,'图书馆',图书馆文件,'金宝appsupportingsourcefiles',sourcefiles.创建由多个标题文件,源文件,源文件和(如果需要)共享库文件的文库的接口。

例子

clibgen.buildInterface(InterfacegenerationFiles.创建一个完全定义的库的接口InterfacegenerationFiles.。您可以使用任何MATLAB支持的C ++编译器金宝app来构建界面。

如果您的库包含共享库文件,则必须指定一个'图书馆'争论。

clibgen.buildInterface(InterfacegenerationFiles.___名称,价值使用一个或多个名称值对参数生成接口。使用此选项在前一个语法中使用任何输入参数组合。

例子

全部收缩

复制学校.HPP.标题文件到可写文件夹H:\ Documents \ Matlab \ Publisher

Copyfile(FullFile(Matlabroot,'extern''例子''cpp_interface''school.hpp'),'。''F'

构建界面学校interface.dll.

clibgen.buildInterface(“学校.hpp”
构建界面文件'schoolInterface.dll'。界面文件'schoolInterface.dll'文件夹'h:\ documents \ matlab \ publisher \ school'。要使用库,请将界面文件文件夹添加到MATLAB路径。1构造需要进一步的定义将包含在界面中。使用clibgen.generatelibrarydefinition提供定义。

点击接口文件文件夹链接将接口添加到路径。

类型clib.school.,期间,然后按标签要在库中显示类。

显示库的帮助。

帮助clib.school.
Clib.school中包含的类

将此功能与输出进行比较摘要(defineschool)命令in.发布仅用于标头C ++库的界面。此界面不包括:

函数字符串clib.getname(clib.school.person)

输入参数

全部收缩

用于生成接口的一个或多个C ++文件,指定为字符串阵列,字符向量或字符向量的单元格数组。如果不在当前文件夹或MATLAB路径上,则该名称包含文件的完整或相对路径。

有关更多信息,请参阅InterfacegenerationFiles.争论在clibgen.generatelibrarydefinition.功能。

例子:“sample.hpp”

数据类型:char|细绳|细胞

一个或多个共享库文件名称,指定为字符串阵列,字符向量或字符向量阵列。与我们一起使用'图书馆'争论。除了由指定的文件完全定义了库外,还需要此值'interfacegenerationFiles''金宝app支持带源文件'论点。

有关更多信息,请参阅图书馆文件争论在clibgen.generatelibrarydefinition.功能。

例如,在Windows上运行此语句®创造sampleInterface.dll.dll.使用mylib.lib.lib.lib.C:\ mylib \并将其写入子文件夹样本在当前文件夹中。

clibgen.buildInterface(“sample.hpp”“图书馆”“c:\ mylib \ mylib.lib”

数据类型:char|细绳|细胞

一个或多个C ++源文件,指定为字符串阵列,字符向量或字符向量阵列。与我们一起使用'金宝app支持带源文件'名称值对参数。金宝app支持的文件扩展是.cpp..cxx.。如果不在当前文件夹或MATLAB路径上,则该名称包含文件的完整或相对路径。支持金宝app源文件必须包含C ++代码。

有关更多信息,请参阅“您在库中有哪些文件?”在提示

如果库由标题和标题完全定义.cpp.源文件,则不需要共享库文件。

例子:“sample.cpp”

数据类型:char|细绳|细胞

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:clibgen.buildInterface(“myheader.hpp”,“libraries”,“myheader.lib”,“outputfolder”,“c:\ work”);

包含的标题文件的一个或多个文件夹,指定为字符串阵列,字符向量或字符向量的单元数组。每个价值IncludePath.必须是文件夹的完整路径名,以在标题文件编译期间包含。

如果主标题文件包含#包括不同文件夹中标头文件的语句,然后使用IncludePath.指定这些路径的参数。

数据类型:char|细绳|细胞

用于生成接口文件的文件夹名称,指定为字符串标量或字符向量。例如,此语句创建myheaderinterface.dll.C:\ Work \ MyHeader在Windows上。

clibgen.buildInterface(“myheader.hpp”“导出目录”“c:\工作”

数据类型:char|细绳|细胞

生成的接口名称,指定为字符串标量或字符向量。对于从单个标题文件创建的接口,默认值是标题的名称。对于多个标题文件,必须将包名称指定为有效的MATLAB名称。例如,此语句创建一个mylibinterface.子文件夹中的库文件Mylib.在当前文件夹中。

clibgen.buildInterface([“h1.hpp”“h2.hpp”],“包裹名字”“mylib”

数据类型:char|细绳|细胞

显示生成消息的选项,指定为真的要么错误的。什么时候真的clibgen.buildInterface.在构建接口时将生成消息显示为命令窗口。例如,此语句创建一个H1Interface.子文件夹中的库文件H1.并在命令窗口中显示消息。

clibgen.buildInterface(“h1.hpp”“verbose”,真的)

有关更多信息,请参阅关于不支持的类型的消息金宝app

数据类型:逻辑

对象指针的形状说明符,指定为真的要么错误的。如果DecilebjectPointerasscalar.真的然后,Matlab通过指定将库中的所有对象指针视为标量形状作为1。否则,对象指针的形状未知。

数据类型:逻辑

形状和MATLAB型说明符const字符指针,指定为真的要么错误的。如果治疗constcharpointerascstring.真的然后matlab对待所有const通过指定,库中的字符指针作为空终止的C字符串mltype.作为细绳形状作为nulltermited.。否则,matlab类型和形状const字符指针是未知的。金宝app支持的指针类型是:

  • const char *

  • const wchar_t *

  • const char16_t *

  • const char32_t *

数据类型:逻辑

在解析头文件时使用的宏定义列表,指定为空,标量字符串或标量字符串的行向量。宏名称包含字符1-9,a-z,a-z和'_',不能以数字开头。

数据类型:细绳

在解析头文件时使用的宏取消列表,指定为空,标量字符串或标量字符串的行向量。宏名称包含字符1-9,a-z,a-z和'_',不能以数字开头。

数据类型:细绳

是否返回非对象C阵列,指定为真的要么错误的。如果returncarrays.真的,然后matlab返回c arrays(clib.array。*)对于非对象C阵列。如果错误的然后,MATLAB返回非对象C阵列的数字MATLAB阵列。

数据类型:逻辑

是否从C ++文件生成文档,指定为真的要么错误的。如果生成的文件率弗洛米特费利斯真的,然后Matlab从C ++源文件中的注释生成文档,用于使用MATLAB显示博文命令。如果错误的然后,MATLAB忽略C ++注释,只生成MATLAB和C ++类型映射的文档。

有关更多信息,请参阅发布MATLAB接口的帮助文本到C ++库

数据类型:逻辑

限制

  • 避免文件夹和文件名中的非ASCII字符,因为某些语言环境设置可能不支持这些字符。金宝app有关区域设置的信息,请参阅国际化的区域设置设置概念

替代功能

两步构建过程

使用clibgen.generatelibrarydefinition.建造功能而不是clibgen.buildInterface.在界面中定义缺失的功能。

有关更多信息,请参阅构建C ++库界面并查看内容

在R2019A介绍