我正在使用MinGW在Windows上编译一些东西。 我直接从cmd.exe
调用mingw32-make
,一切(我需要)工作正常。 但是我发现我需要能够从MSYS环境进行编译,而且我遇到了copy
和del
命令无法识别的问题。 我知道只需用cp
和rm
替换它们,但我想在两种情况下使用单个makefile。
有没有办法强制msys环境调用system del
和cp
命令?
或者更好的是,有没有办法区分是否从cmd.exe
或msys调用makefile? 我可以为命令设置适当的变量。 这将非常有用,因为我可以删除一些其他重复的makefile。
任何帮助表示赞赏。
谢谢
编辑:并使事情变得更加困难: mingw32-make
似乎使用sh.exe
如果在从cmd.exe
运行时在PATH中找到。 这有完全不同的环境变量集。
编辑:好的,如果有人仍然感兴趣,我最终得到了以下文件,我将其包含在我的其他Makefile中:
ifeq ($(OS),Windows_NT) RM = del /Q /F CP = copy /Y ifdef ComSpec SHELL := $(ComSpec) endif ifdef COMSPEC SHELL := $(COMSPEC) endif else RM = rm -rf CP = cp -f endif
如果没有,你仍然认为这是一个重复的问题,我当然可以删除这个问题。
由于我不知道的原因, ComSpec
和COMPSPEC
有所不同。
我遇到了同样的情况。 我将MSYS目录添加到PATH环境中,并且运行良好。
将msys添加到路径中,如图所示:
以上就是c/c++开发分享带或不带MSYS的MinGW makefile(del vs rm)相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/549737.html