使用 Windows 7 和 Matlab R2011a(32 位),我想使用 Cmake 编译一个用 C 编写的 Matlab mex 文件(procedure.c
)。该文件包含void mexFunction()
与 Matlab 接口所需的文件。然而,这个文件中的 C 代码调用了一个用 Fortran 95 编写的子例程(在文件中找到fp.F
)。
至少,有两个文件需要编译:
procedure.c
fp.F
将来,我最终将不得不编译并链接其他 C 代码文件和 Fortran 函数。
我想使用 Windows 平台,使用gcc
或Visual Studio 2010
作为 C 编译器和gfortran
Fortran 编译器来执行此操作。
我必须只使用支持的 Matlab 编译器吗?
似乎Open Watcom
可以创建适合 mex 的目标文件,但我不能使用Open Watcom
,因为它只支持f77
. 我在 Fortran 中的代码是为在 UNIX 操作系统上运行的 gcc 编译器编写的。
使用 Open Watcom 创建的对象文件似乎有非官方支持:http: //www.mathworks.com/support/solutions/en/data/1-155BQG/? solution=1-155BQG
问题是将所有这些与 Cmake、gcc 或 Visual Studio 以及 gfortran 链接在一起。也许 Cmake 不是最佳的,可以使用其他类型的脚本语言?
我无法在 Windows 上访问 Intel Visual Fortran。