zoukankan      html  css  js  c++  java
  • windows下使用GNU make命令报错的解决方法

    windows下使用GNU make命令报错的解决方法
    =
    > 错误信息:make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)

    ## 1.原因
    环境变量中配置了`D:Program Files (x86)Gitin`,该目录下存在一个`sh.exe`

    在执行make命令时,如果在`MakeFile`文件中没有指定shell的路径,`make`就会到环境变量中,去找一个`X:\XXXXXXsh.exe`作为它的默认shell
    > 原文
    ```
    The program used as the shell is taken from the variable SHELL. If this variable is not set in your makefile, the program /bin/sh is used as the shell. The argument(s) passed to the shell are taken from the variable .SHELLFLAGS. The default value of .SHELLFLAGS is -c normally, or -ec in POSIX-conforming mode.
    ```
    > 参考:https://www.gnu.org/software/make/manual/html_node/Choosing-the-Shell.html

    而由于环境变量中配置了`D:Program Files (x86)Gitin`,令到make就取了'D:Program Files (x86)Gitinsh.exe'作为它的shell

    而在windows下,是要以`C:WindowsSystem32cmd.exe`作为shell的,所以就产生了标题所示的报错

    ## 2.解决方法
    在`MakeFile`文件最初的位置,添加:
    ```makefile
    SHELL=C:WindowsSystem32cmd.exe
    ```
  • 相关阅读:
    Redis 发布/订阅模式
    Task
    并发入门
    ThreadPool线程池
    C# 5.0 CallerMemberName CallerFilePath CallerLineNumber获取调用方法名称,路径,行号
    信号量
    互斥体
    锁机制
    .net remoting(1)简单例子
    C#并行编程-并发集合
  • 原文地址:https://www.cnblogs.com/ningkyolei/p/5371436.html
Copyright © 2011-2022 走看看