我正在尝试运行make all
命令,但是我得到一个非常令人困惑的错误,好像来自'cl'的参数被误认为是MinGW中的目录路径。我得到的输出:
cl /EHsc /MD /nologo /D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS -nologo /O2 -DN
DEBUG -DUSE_CBC -DUSE_CLP /D__WIN32__ /Iinclude\\src\\windows /DGFLAGS_DLL_DECL=
/DGFLAGS_DLL_DECLARE_FLAG= /DGFLAGS_DLL_DEFINE_FLAG= /Iinclude /I. -DUSE_GLOP -
DUSE_BOP -c examples\\cpp\\costas_array.cc /Foobjs\\costas_array.obj
这是cl命令,而不是警告和错误(注意cl /EHsc
实际上被误认为是'C:/MinGW/MSYS/1.0/EHsc'
等等):
cl : Command line warning D9024 : unrecognized source file type 'C:/MinGW/MSYS/1
.0/EHsc', object file assumed
cl : Command line warning D9027 : source file 'C:/MinGW/MSYS/1.0/EHsc' ignored
cl : Command line warning D9024 : unrecognized source file type 'C:/MinGW/MSYS/1
.0/MD', object file assumed
cl : Command line warning D9027 : source file 'C:/MinGW/MSYS/1.0/MD' ignored
cl : Command line warning D9024 : unrecognized source file type 'C:/MinGW/MSYS/1
.0/nologo', object file assumed
cl : Command line warning D9027 : source file 'C:/MinGW/MSYS/1.0/nologo' ignored
......等......直到最后有fatal error
cl : Command line warning D9024 : unrecognized source file type 'C:/MinGW/MSYS/1
.0/I.', object file assumed
cl : Command line warning D9027 : source file 'C:/MinGW/MSYS/1.0/I.' ignored
cl : Command line warning D9027 : source file 'C:/MinGW/MSYS/1.0/Foobjs/costas_a
rray.obj' ignored
costas_array.cc
examples\cpp\costas_array.cc(27): fatal error C1083: Cannot open include file: '
ortools/base/callback.h': No such file or directory
make: *** [objs\\costas_array.obj] Error 2
任何关于为什么会发生这种情况的帮助都会受到高度赞赏,我对此事情的了解并不多。
答案 0 :(得分:1)
MSYS shell正在为您做这些翻译,以帮助您。
使用此shell中通常使用的工具,它没有问题,因为参数/选项以-
或--
(Unix和/或GNU约定)开头。一旦您需要使用/
的Microsoft选项和标志约定的命令行工具,它就会开始进入您的行列。
不幸的是,对于原始的MSYS,我还没有意识到禁用此翻译的方法。但是有一个用于MSYS2,see the question I asked about it:你只需要设置一个环境变量,例如。
export MSYS2_ARG_CONV_EXCL=\*
所以,我建议您将工具升级到MSYS2并使用它。