matlab & C混合编程【路径有空格?】
安装环境 win10+matlab2017b
要在matlab里面使用混合编程,首先你的电脑得有C的编译器,要用C++也一样,
注意,现在matlab会提示你去官网有免费版本下载,
我很天真的去下载了,然后发现必须登陆账户,我也很天真的登陆了,
然后点击安装,失败了??好的,那我换自己装呗。
BUT,你忘记你刚才登陆账户了吗?自此以后查看帮助文档都要登陆账户才可以,
而且是关联了许可证的账户!!! 头疼.... 不知道那个安装软件改了哪里,只好手动卸载重装。
下面是手动安装MinGW的正确方式,请食用~~
对了,高版本的matlab有提示版本问题的警告,好像并不妨碍使用~~
一、安装 MinGW-w64
下载传送门:
下载打开安装,在第二个框框里面改一下第二项(见下图):
二:配置环境变量
在系统变量Path中加入
D:\MinGW\mingw64\bin;
新建一个名为C_INCLUDE_PATH的系统变量, 变量值为
D:\MinGW\mingw64\include;
注意还要修改matlab中的配置文件:(这一步不能忘啊
>>setenv('MW_MINGW64_LOC','C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64')
然后就可以使用mex命令啦
>> mex -setup %可以看到你电脑上安装的编译器
本来以为这次和之前安装一样都是很顺利的啊~
然后,就遇到了问题(微笑脸
这次我是自动选择安装在C:\Program Files\下面的
然后在matlab里面设置路径,setenv('MW_MINGW64_LOC','你的编译器安装的bin的上一级目录')
mex -setup能看到我的编译器了哦
接着去用make就报错啦
错误使用 mex
'C:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
出错 make (line 37)
mex('ompmex.c', ompsources{:},compile_params{:});
唔,查了查 是路径的问题,有空格咋办呢,我也不想重新装啊!
最后用的是目录名缩写解决的。
采用八个字符,由目录名前六个字符(不计空格),加上波浪线~和数字(1~4)组成。如果多于四个文件使用相同的前六个字符,则由目录名的前两个字符结合四个字符的散列码,加上波浪线~和数字1组成。
OK现在看使用方法:
cmd进入c盘下面,
用dir /x 查看目录名缩写
重新用缩写替换掉matlab的预设路径,就可以愉快的使用make命令啦~~