完成mingw-w64 与64 bit win7上的matlab 2010a 64 bit混合编译

本文详细介绍了如何在64位Windows 7系统上,利用mingw-w64和Matlab 2010a 64位进行混合编译,涉及Fortran代码、shell脚本、makefile以及c和Fortran混合的mex文件。过程中遇到的挑战包括32位和64位兼容性问题、库的链接错误等,并给出了解决方案,包括使用gnumex、vc++ 2008和Windows SDK,以及解决未定义引用和 mex 文件运行时的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     耗时近两个星期,终于整的可以用了。我的目的是要从64位的matlab上调用一个函数库。由一些Fortran代码,很多shell脚本,大量makefile和几个用c与fortran混合编写的mex文件组成。因为其命令大多是bash脚本,所以只能在类unix平台实现。

     最一开始在32位utunbu虚拟机装了matlab r14。安装过程也颇费周折,因为装上后只能出来命令行的matlab,出不来IDE。后来发现是找不到java虚拟机的缘故。装个jre6,设置javahome以及path等环境变量后即正常了。但本子配置不算太好,运算规模大点的问题就慢的厉害,所以决定还是回到win7的64位matlab 2010a。 

     于是开始试着在cygwin上完成这个工作,计划使用了g95做为编译器,以及使用gnumex来产生mexopts.bat。 可实际开始做时,才知道matlab 64位不能调用32位mex,所以当时困惑的厉害,网上也找不到解决方法。看有人说道gnumex对mingw支持比cygwin好,我直接下载了mingw-w64,一个拥有64位gcc和64位gfortran的mingw。

       首先下载了近二百M的mingw-w64文件,又找了一个32位的msys安好了。其后将msys的mingw指向mingw-w64的安装文件即可。windows shell下的mex命令是matlab bin目录中的mex.bat,这个在msys中不能执行。我们还要构造一个类似mex.bat的msys脚本。这个脚本调用mex.pl,同时将命令行参数传给mex.pl。

      gnumex并没有运行起,在gnumex的官网上看到一个用户提到怎样运行在matlab 2010a上,于是照猫画虎做了一遍。但还解决不了问题,有了这些经验,于是自己在gnumex中下了断点,慢慢的跟踪的看出了啥问题。最主要的是要用matlab的mex命令基于64位的c编译器

<think>我们正在讨论MinGW-w64编译器,它支持32位和64Windows系统。根据引用[1]和[引用2],我们可以从两个主要来源获取:GitHub上的预编译工具和SourceForge上的离线包。 用户的需求很明确:寻找适用于32位和64WindowsMinGW-w64编译器。 回答步骤: 1. 介绍MinGW-w64以及为什么选择它(根据引用[4])。 2. 提供两种获取方式: a. 从SourceForge下载离线安装包(引用[2])。 b. 使用GitHub上的自动构建脚本(引用[1])。 3. 简要说明安装步骤(根据引用[3]和[4]),但注意引用[3]中提到了问题,所以我们只提供一般步骤,并提醒用户注意环境变量配置。 注意:用户可能希望得到直接可用的下载链接或方法。 由于引用中提供了具体网址,我们可以在回答中直接给出。 但是,请注意,我们无法直接提供超链接,但可以给出网址文本。 另外,根据系统指令,我们需要在回答中自然地添加引用标识,并在最后生成相关问题。 结构: 1. 介绍MinGW-w64 2. 下载方法 a. SourceForge方式 b. GitHub自动构建方式 3. 安装步骤(简要) 4. 配置环境变量 5. 验证安装 最后生成相关问题。 注意:引用[3]中提到了安装过程中可能出现的错误,但该引用主要描述的是在MATLAB环境中配置的问题,用户当前需求(获取编译器)关系不大,所以我们可以略过,但提醒用户安装后需要配置环境变量。 开始回答:</think>### MinGW-w64 编译器安装指南 MinGW-w64Windows 平台开源的 C/C++ 编译器套件,支持 32 位和 64 位应用程序开发。以下是详细的获取和安装方法: #### 1. 官方下载方式(推荐) 访问 SourceForge 的 MinGW-w64 项目页: ``` https://sourceforge.net/projects/mingw-w64/files/ ``` 在目录中选择最新版本(如 `mingw-w64-install.exe`),下载时注意: - 选择架构:`x86_64`(64位)或 `i686`(32位) - 选择线程模型:`posix`(推荐)或 `win32` - 选择异常处理:`seh`(64位)或 `dwarf`(32位)[^2][^4] #### 2. 自动构建工具(高级用户) GitHub 上的自动化构建项目可生成定制版本: - niXman/mingw-builds:提供预编译工具链 ```https://github.com/niXman/mingw-builds``` - mmozeiko/build-gcc-mingw:自动构建 GCC + MinGW-w64 ```https://github.com/mmozeiko/build-gcc-mingw``` [^1] #### 安装步骤 1. 运行安装程序,设置安装路径(建议 `C:\mingw64`) 2. 配置环境变量: - 添加 `bin` 目录到系统 PATH(如 `C:\mingw64\bin`) - 新建 `LIBRARY_PATH` 变量指向 `lib` 目录 3. 验证安装:命令提示符执行 ```gcc --version``` 应显示类似 ```gcc (x86_64-posix-seh-rev0) 13.2.0``` 的信息[^4] > ⚠️ 注意:避免使用旧版 MinGWMinGW-w64 支持 C11/C++17 等新标准,且无需额外 DLL 依赖[^4]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值