【发布时间】:2019-06-21 08:54:44
【问题描述】:
我想在使用 MinGW64 编译器 (C) 通过 MATLAB 的 mex 编译我的 c 代码时获得预处理器输出,因此使用 gcc(对吗?)。 从这个post 我知道你可以用纯 gcc 将选项 -E 传递给 gcc 来做到这一点。 但是,我通过 MATLAB 应用程序安装了 gcc,因此无法通过命令行访问它(如果不重新安装 MinGW64 并手动设置它以与 MATLAB 一起使用,也可以通过命令来访问它)。
假设编译器标志是传递参数的正确方法,我尝试执行以下操作:
mex -c grampc_run.c -I../../include -I../include COMPFLAGS='$COMPFLAGS -E'
这只会导致对象文件的创建。
【问题讨论】:
-
只是一个侧节点:我可以使用 Visual Studio 开发人员命令提示符执行此操作:cl my_file.c /P /I"C:\...\include" /I"C:\Program Files\MATLAB\R2018b\extern\include" /out:my_file.i --> \P 是 VS 中的正确标志