我有一个带有c ++ s函数的simulink模型。 该s函数需要访问许多(> 50)类。每个类由标题( .h)和源( .cpp)文件组成。 我还将我的代码分成了多个目录:
root
-sfun.cpp
-folder1
--file1.h
--file1.cpp
--file2.h
--file2.cpp
-folder2
--file3.h
--file3.cpp
...
为了编译s函数我正在使用mex函数:
mex -Ifolder1 -Ifolder2 -outdir bin sfun.cpp folder1/file1.cpp folder1/file2.cpp folder1/file3.cpp
(http://de.mathworks.com/help/matlab/ref/mex.html)
但随着越来越多的文件,这会变得非常冗长和丑陋,因为我需要分别指定每个头文件夹和earch源文件。 有没有更好的方法来创建需要访问大量源文件的mex文件?
我有以下想法,但我不确定什么是正确和最简单的方法:
将所有头文件和源文件(fileX.h / fileX.cpp)添加到visual studio项目中,并将它们编译为* .lib文件。然后使用mex工具仅编译sfun.cpp并提供对* .lib文件的访问
将所有标头和源文件移动到一个目录中。这将缩短命令行,如下所示:
mex -outdir bin sfun.cpp file1.cpp file2.cpp file3.cpp
使所有内联内联,以便不需要源文件。 (非常难看的解决方案)
mex编译器是否有某种makefile?
不仅包括头文件,还包括#include指令的源文件。
目前我不相信任何这些想法,我会感激任何帮助。
由于
EDIT1: 一个注释:此项目应在稍后阶段移植到dspace pc。在这种情况下,我需要考虑一些特别的事情吗?