使用动态库中微软Visual Studio项目
这个例子显示了如何创建和配置一个简单的微软®Visual Studio®项目生成的调用动态库(DLL)MATLAB®编码器™。本例使用微软Visual Studio2017年。在其他版本的微软Visual Studio,你可能会遇到不同的过程。
生成C动态库
创建一个MATLAB函数
喷火
。函数c = foo ()% # codegenc = sqrt ();结束
将其保存为
foo.m
例如,在当地可写的文件夹C: \ dll_test
。使用相同版本的相同的编译器来生成你的DLL使用来构建微软Visual Studio项目。否则,您可能会遇到链接错误。
对于这个示例,使用微软Visual Studio2017年的编译器。选择代码生成器使用的编译器,输入
墨西哥人设置
在命令行中。有关更多信息,请参见万博1manbetx支持和兼容的编译器。为MATLAB函数生成一个DLL
喷火
。的arg游戏
选项指定的输入一个
是一个真正的双。codegen配置:dll喷火arg游戏{0}报告
在Microsoft Windows®系统中,
codegen
生成一个C动态库,foo.dll
在默认文件夹万博1manbetx,支持文件,C: \ dll_test \ codegen \ dll \ foo
。
创建一个微软Visual Studio项目
在微软Visual Studio创建一个空的项目:
选择文件>新>项目。
选择安装>Visual c++>一般并选择空项目。输入一个项目名称。
点击好吧。
创建一个主。c文件,使用图书馆
写一个c
文件使用foo.dll
。的c
函数必须:
包括生成的头文件,它包含库函数的函数原型。
后调用终止函数调用库函数的最后一次。
默认情况下,代码生成器包括开始时调用初始化函数生成的C / c++的入口点函数。所以,你不需要调用初始化函数c
。看到使用生成的初始化和终止功能。
创建文件:
从解决方案资源管理器,右键单击源文件文件夹并选择添加>新项目
选择c++文件(. cpp)。在的名字字段中,输入
c
。点击添加。
输入代码:
# include " foo。h foo_terminate # include。h”# include < stdio。h > int main () {printf (" % f \ n”, foo (26));foo_terminate ();获取字符();返回0;}
配置平台
MATLAB编码器自动使用配置工具链来构建一个64位的DLL。默认情况下,微软Visual Studio配置为Win32平台的构建。你必须改变构建平台x64匹配生成的64位的DLL。在微软Visual Studio:
选择构建>配置管理器。
集积极的解决方案平台来x64。
如果你想建立一个32位的DLL在64位平台上,您必须使用一个32位的工具链的定义。看到64位的Windows®平台上构建32位DLL使用MSVC工具链。
指定外部依赖
建立您的项目时,编译器需要相关的头文件。链接器需要生成的. lib
文件。
突出显示您的项目的解决方案资源管理器,然后选择项目>属性。
代码生成器产生类型的文件
rtwtypes.h
,其中包括该文件tmwtypes.h
。这个文件存储在matlabroot\走读生\包括
,在那里matlabroot
MATLAB安装的根目录。返回根目录,输入matlabroot
在命令窗口中。下配置属性>C / c++>一般,添加文件夹
C: \ dll_test \ codegen \ dll \ foo
和matlabroot\走读生\包括
来其他包括目录。单独的,并以分号分隔。下配置属性>链接器>输入,添加
foo.lib
来附加依赖项。下配置属性>链接器>一般,添加文件夹
C: \ dll_test \ codegen \ dll \ foo
来额外的库目录。
构建和运行可执行文件
构建可执行。选择构建>构建解决方案。
使DLL的可执行文件。要么复制
foo.dll
包含可执行文件的文件夹或添加文件夹包含foo.dll
你的路径。运行可执行文件。验证显示为您期望的输出。